{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <div class=\"bk-root\">\n",
       "        <a href=\"https://bokeh.pydata.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n",
       "        <span id=\"1001\">Loading BokehJS ...</span>\n",
       "    </div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "(function(root) {\n",
       "  function now() {\n",
       "    return new Date();\n",
       "  }\n",
       "\n",
       "  var force = true;\n",
       "\n",
       "  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
       "    root._bokeh_onload_callbacks = [];\n",
       "    root._bokeh_is_loading = undefined;\n",
       "  }\n",
       "\n",
       "  var JS_MIME_TYPE = 'application/javascript';\n",
       "  var HTML_MIME_TYPE = 'text/html';\n",
       "  var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
       "  var CLASS_NAME = 'output_bokeh rendered_html';\n",
       "\n",
       "  /**\n",
       "   * Render data to the DOM node\n",
       "   */\n",
       "  function render(props, node) {\n",
       "    var script = document.createElement(\"script\");\n",
       "    node.appendChild(script);\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when an output is cleared or removed\n",
       "   */\n",
       "  function handleClearOutput(event, handle) {\n",
       "    var cell = handle.cell;\n",
       "\n",
       "    var id = cell.output_area._bokeh_element_id;\n",
       "    var server_id = cell.output_area._bokeh_server_id;\n",
       "    // Clean up Bokeh references\n",
       "    if (id != null && id in Bokeh.index) {\n",
       "      Bokeh.index[id].model.document.clear();\n",
       "      delete Bokeh.index[id];\n",
       "    }\n",
       "\n",
       "    if (server_id !== undefined) {\n",
       "      // Clean up Bokeh references\n",
       "      var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
       "      cell.notebook.kernel.execute(cmd, {\n",
       "        iopub: {\n",
       "          output: function(msg) {\n",
       "            var id = msg.content.text.trim();\n",
       "            if (id in Bokeh.index) {\n",
       "              Bokeh.index[id].model.document.clear();\n",
       "              delete Bokeh.index[id];\n",
       "            }\n",
       "          }\n",
       "        }\n",
       "      });\n",
       "      // Destroy server and session\n",
       "      var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
       "      cell.notebook.kernel.execute(cmd);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when a new output is added\n",
       "   */\n",
       "  function handleAddOutput(event, handle) {\n",
       "    var output_area = handle.output_area;\n",
       "    var output = handle.output;\n",
       "\n",
       "    // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
       "    if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
       "      return\n",
       "    }\n",
       "\n",
       "    var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
       "\n",
       "    if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
       "      toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
       "      // store reference to embed id on output_area\n",
       "      output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
       "    }\n",
       "    if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
       "      var bk_div = document.createElement(\"div\");\n",
       "      bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
       "      var script_attrs = bk_div.children[0].attributes;\n",
       "      for (var i = 0; i < script_attrs.length; i++) {\n",
       "        toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
       "      }\n",
       "      // store reference to server id on output_area\n",
       "      output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
       "    }\n",
       "  }\n",
       "\n",
       "  function register_renderer(events, OutputArea) {\n",
       "\n",
       "    function append_mime(data, metadata, element) {\n",
       "      // create a DOM node to render to\n",
       "      var toinsert = this.create_output_subarea(\n",
       "        metadata,\n",
       "        CLASS_NAME,\n",
       "        EXEC_MIME_TYPE\n",
       "      );\n",
       "      this.keyboard_manager.register_events(toinsert);\n",
       "      // Render to node\n",
       "      var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
       "      render(props, toinsert[toinsert.length - 1]);\n",
       "      element.append(toinsert);\n",
       "      return toinsert\n",
       "    }\n",
       "\n",
       "    /* Handle when an output is cleared or removed */\n",
       "    events.on('clear_output.CodeCell', handleClearOutput);\n",
       "    events.on('delete.Cell', handleClearOutput);\n",
       "\n",
       "    /* Handle when a new output is added */\n",
       "    events.on('output_added.OutputArea', handleAddOutput);\n",
       "\n",
       "    /**\n",
       "     * Register the mime type and append_mime function with output_area\n",
       "     */\n",
       "    OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
       "      /* Is output safe? */\n",
       "      safe: true,\n",
       "      /* Index of renderer in `output_area.display_order` */\n",
       "      index: 0\n",
       "    });\n",
       "  }\n",
       "\n",
       "  // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
       "  if (root.Jupyter !== undefined) {\n",
       "    var events = require('base/js/events');\n",
       "    var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
       "\n",
       "    if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
       "      register_renderer(events, OutputArea);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  \n",
       "  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
       "    root._bokeh_timeout = Date.now() + 5000;\n",
       "    root._bokeh_failed_load = false;\n",
       "  }\n",
       "\n",
       "  var NB_LOAD_WARNING = {'data': {'text/html':\n",
       "     \"<div style='background-color: #fdd'>\\n\"+\n",
       "     \"<p>\\n\"+\n",
       "     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
       "     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
       "     \"</p>\\n\"+\n",
       "     \"<ul>\\n\"+\n",
       "     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n",
       "     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n",
       "     \"</ul>\\n\"+\n",
       "     \"<code>\\n\"+\n",
       "     \"from bokeh.resources import INLINE\\n\"+\n",
       "     \"output_notebook(resources=INLINE)\\n\"+\n",
       "     \"</code>\\n\"+\n",
       "     \"</div>\"}};\n",
       "\n",
       "  function display_loaded() {\n",
       "    var el = document.getElementById(\"1001\");\n",
       "    if (el != null) {\n",
       "      el.textContent = \"BokehJS is loading...\";\n",
       "    }\n",
       "    if (root.Bokeh !== undefined) {\n",
       "      if (el != null) {\n",
       "        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
       "      }\n",
       "    } else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(display_loaded, 100)\n",
       "    }\n",
       "  }\n",
       "\n",
       "\n",
       "  function run_callbacks() {\n",
       "    try {\n",
       "      root._bokeh_onload_callbacks.forEach(function(callback) {\n",
       "        if (callback != null)\n",
       "          callback();\n",
       "      });\n",
       "    } finally {\n",
       "      delete root._bokeh_onload_callbacks\n",
       "    }\n",
       "    console.debug(\"Bokeh: all callbacks have finished\");\n",
       "  }\n",
       "\n",
       "  function load_libs(css_urls, js_urls, callback) {\n",
       "    if (css_urls == null) css_urls = [];\n",
       "    if (js_urls == null) js_urls = [];\n",
       "\n",
       "    root._bokeh_onload_callbacks.push(callback);\n",
       "    if (root._bokeh_is_loading > 0) {\n",
       "      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
       "      return null;\n",
       "    }\n",
       "    if (js_urls == null || js_urls.length === 0) {\n",
       "      run_callbacks();\n",
       "      return null;\n",
       "    }\n",
       "    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
       "    root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
       "\n",
       "    function on_load() {\n",
       "      root._bokeh_is_loading--;\n",
       "      if (root._bokeh_is_loading === 0) {\n",
       "        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
       "        run_callbacks()\n",
       "      }\n",
       "    }\n",
       "\n",
       "    function on_error() {\n",
       "      console.error(\"failed to load \" + url);\n",
       "    }\n",
       "\n",
       "    for (var i = 0; i < css_urls.length; i++) {\n",
       "      var url = css_urls[i];\n",
       "      const element = document.createElement(\"link\");\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error;\n",
       "      element.rel = \"stylesheet\";\n",
       "      element.type = \"text/css\";\n",
       "      element.href = url;\n",
       "      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
       "      document.body.appendChild(element);\n",
       "    }\n",
       "\n",
       "    for (var i = 0; i < js_urls.length; i++) {\n",
       "      var url = js_urls[i];\n",
       "      var element = document.createElement('script');\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error;\n",
       "      element.async = false;\n",
       "      element.src = url;\n",
       "      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
       "      document.head.appendChild(element);\n",
       "    }\n",
       "  };var element = document.getElementById(\"1001\");\n",
       "  if (element == null) {\n",
       "    console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n",
       "    return false;\n",
       "  }\n",
       "\n",
       "  function inject_raw_css(css) {\n",
       "    const element = document.createElement(\"style\");\n",
       "    element.appendChild(document.createTextNode(css));\n",
       "    document.body.appendChild(element);\n",
       "  }\n",
       "\n",
       "  var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.1.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.1.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.1.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.1.0.min.js\"];\n",
       "  var css_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.1.0.min.css\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.1.0.min.css\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.1.0.min.css\"];\n",
       "\n",
       "  var inline_js = [\n",
       "    function(Bokeh) {\n",
       "      Bokeh.set_log_level(\"info\");\n",
       "    },\n",
       "    \n",
       "    function(Bokeh) {\n",
       "      \n",
       "    },\n",
       "    function(Bokeh) {} // ensure no trailing comma for IE\n",
       "  ];\n",
       "\n",
       "  function run_inline_js() {\n",
       "    \n",
       "    if ((root.Bokeh !== undefined) || (force === true)) {\n",
       "      for (var i = 0; i < inline_js.length; i++) {\n",
       "        inline_js[i].call(root, root.Bokeh);\n",
       "      }if (force === true) {\n",
       "        display_loaded();\n",
       "      }} else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(run_inline_js, 100);\n",
       "    } else if (!root._bokeh_failed_load) {\n",
       "      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
       "      root._bokeh_failed_load = true;\n",
       "    } else if (force !== true) {\n",
       "      var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n",
       "      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
       "    }\n",
       "\n",
       "  }\n",
       "\n",
       "  if (root._bokeh_is_loading === 0) {\n",
       "    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
       "    run_inline_js();\n",
       "  } else {\n",
       "    load_libs(css_urls, js_urls, function() {\n",
       "      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
       "      run_inline_js();\n",
       "    });\n",
       "  }\n",
       "}(window));"
      ],
      "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n  function now() {\n    return new Date();\n  }\n\n  var force = true;\n\n  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n    root._bokeh_onload_callbacks = [];\n    root._bokeh_is_loading = undefined;\n  }\n\n  \n\n  \n  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n    root._bokeh_timeout = Date.now() + 5000;\n    root._bokeh_failed_load = false;\n  }\n\n  var NB_LOAD_WARNING = {'data': {'text/html':\n     \"<div style='background-color: #fdd'>\\n\"+\n     \"<p>\\n\"+\n     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n     \"</p>\\n\"+\n     \"<ul>\\n\"+\n     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n     \"</ul>\\n\"+\n     \"<code>\\n\"+\n     \"from bokeh.resources import INLINE\\n\"+\n     \"output_notebook(resources=INLINE)\\n\"+\n     \"</code>\\n\"+\n     \"</div>\"}};\n\n  function display_loaded() {\n    var el = document.getElementById(\"1001\");\n    if (el != null) {\n      el.textContent = \"BokehJS is loading...\";\n    }\n    if (root.Bokeh !== undefined) {\n      if (el != null) {\n        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n      }\n    } else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(display_loaded, 100)\n    }\n  }\n\n\n  function run_callbacks() {\n    try {\n      root._bokeh_onload_callbacks.forEach(function(callback) {\n        if (callback != null)\n          callback();\n      });\n    } finally {\n      delete root._bokeh_onload_callbacks\n    }\n    console.debug(\"Bokeh: all callbacks have finished\");\n  }\n\n  function load_libs(css_urls, js_urls, callback) {\n    if (css_urls == null) css_urls = [];\n    if (js_urls == null) js_urls = [];\n\n    root._bokeh_onload_callbacks.push(callback);\n    if (root._bokeh_is_loading > 0) {\n      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n      return null;\n    }\n    if (js_urls == null || js_urls.length === 0) {\n      run_callbacks();\n      return null;\n    }\n    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n    root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n    function on_load() {\n      root._bokeh_is_loading--;\n      if (root._bokeh_is_loading === 0) {\n        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n        run_callbacks()\n      }\n    }\n\n    function on_error() {\n      console.error(\"failed to load \" + url);\n    }\n\n    for (var i = 0; i < css_urls.length; i++) {\n      var url = css_urls[i];\n      const element = document.createElement(\"link\");\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.rel = \"stylesheet\";\n      element.type = \"text/css\";\n      element.href = url;\n      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n      document.body.appendChild(element);\n    }\n\n    for (var i = 0; i < js_urls.length; i++) {\n      var url = js_urls[i];\n      var element = document.createElement('script');\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.async = false;\n      element.src = url;\n      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n      document.head.appendChild(element);\n    }\n  };var element = document.getElementById(\"1001\");\n  if (element == null) {\n    console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1001' but no matching script tag was found. \")\n    return false;\n  }\n\n  function inject_raw_css(css) {\n    const element = document.createElement(\"style\");\n    element.appendChild(document.createTextNode(css));\n    document.body.appendChild(element);\n  }\n\n  var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.1.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.1.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.1.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.1.0.min.js\"];\n  var css_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.1.0.min.css\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.1.0.min.css\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.1.0.min.css\"];\n\n  var inline_js = [\n    function(Bokeh) {\n      Bokeh.set_log_level(\"info\");\n    },\n    \n    function(Bokeh) {\n      \n    },\n    function(Bokeh) {} // ensure no trailing comma for IE\n  ];\n\n  function run_inline_js() {\n    \n    if ((root.Bokeh !== undefined) || (force === true)) {\n      for (var i = 0; i < inline_js.length; i++) {\n        inline_js[i].call(root, root.Bokeh);\n      }if (force === true) {\n        display_loaded();\n      }} else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(run_inline_js, 100);\n    } else if (!root._bokeh_failed_load) {\n      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n      root._bokeh_failed_load = true;\n    } else if (force !== true) {\n      var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n    }\n\n  }\n\n  if (root._bokeh_is_loading === 0) {\n    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n    run_inline_js();\n  } else {\n    load_libs(css_urls, js_urls, function() {\n      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n      run_inline_js();\n    });\n  }\n}(window));"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 导入库\n",
    "from bokeh.plotting import figure, output_notebook, show\n",
    "output_notebook()  # 在notebook中显示"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Python List"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"ee79ac3c-0142-4ba7-882f-57d91af28a01\" data-root-id=\"1330\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"d1f4cfcd-4534-465d-9a9d-5ad0749dcaf6\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1339\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1343\",\"type\":\"Grid\"},{\"id\":\"1348\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"1344\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1365\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1394\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1355\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1331\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1335\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1333\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1337\",\"type\":\"LinearScale\"}},\"id\":\"1330\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null},\"id\":\"1331\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1337\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"1362\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1363\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1364\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1366\",\"type\":\"CDSView\"}},\"id\":\"1365\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null},\"id\":\"1333\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1345\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"1362\",\"type\":\"ColumnDataSource\"}},\"id\":\"1366\",\"type\":\"CDSView\"},{\"attributes\":{\"formatter\":{\"id\":\"1399\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1340\",\"type\":\"BasicTicker\"}},\"id\":\"1339\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1353\",\"type\":\"ResetTool\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1394\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1397\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1363\",\"type\":\"Circle\"},{\"attributes\":{\"ticker\":{\"id\":\"1340\",\"type\":\"BasicTicker\"}},\"id\":\"1343\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1399\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"1400\",\"type\":\"BoxAnnotation\"}},\"id\":\"1351\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1364\",\"type\":\"Circle\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1400\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1350\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[1,2,3,4,5],\"y\":[3,7,8,5,1]},\"selected\":{\"id\":\"1402\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1401\",\"type\":\"UnionRenderers\"}},\"id\":\"1362\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1401\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1340\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1402\",\"type\":\"Selection\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1345\",\"type\":\"BasicTicker\"}},\"id\":\"1348\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1349\",\"type\":\"PanTool\"},{\"attributes\":{\"formatter\":{\"id\":\"1397\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1345\",\"type\":\"BasicTicker\"}},\"id\":\"1344\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1354\",\"type\":\"HelpTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1349\",\"type\":\"PanTool\"},{\"id\":\"1350\",\"type\":\"WheelZoomTool\"},{\"id\":\"1351\",\"type\":\"BoxZoomTool\"},{\"id\":\"1352\",\"type\":\"SaveTool\"},{\"id\":\"1353\",\"type\":\"ResetTool\"},{\"id\":\"1354\",\"type\":\"HelpTool\"}]},\"id\":\"1355\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1352\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1335\",\"type\":\"LinearScale\"}],\"root_ids\":[\"1330\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"d1f4cfcd-4534-465d-9a9d-5ad0749dcaf6\",\"roots\":{\"1330\":\"ee79ac3c-0142-4ba7-882f-57d91af28a01\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1330"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x=[1, 2, 3, 4, 5]\n",
    "y=[3, 7, 8, 5, 1]\n",
    "# 其中x,y数据列表长度相同，即坐标对应关系\n",
    "p = figure(plot_width=400, plot_height=400)\n",
    "p.circle(x, y, size=20)\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"f54a210c-1de6-480e-9d30-aa9d67e9f2d0\" data-root-id=\"1212\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"599456aa-8e91-4d74-9a22-d6c615c2b06b\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1221\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1225\",\"type\":\"Grid\"},{\"id\":\"1230\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"1226\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1247\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1267\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1237\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1213\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1217\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1215\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1219\",\"type\":\"LinearScale\"}},\"id\":\"1212\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1227\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1227\",\"type\":\"BasicTicker\"}},\"id\":\"1230\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1246\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1217\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1245\",\"type\":\"Circle\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1267\",\"type\":\"Title\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1231\",\"type\":\"PanTool\"},{\"id\":\"1232\",\"type\":\"WheelZoomTool\"},{\"id\":\"1233\",\"type\":\"BoxZoomTool\"},{\"id\":\"1234\",\"type\":\"SaveTool\"},{\"id\":\"1235\",\"type\":\"ResetTool\"},{\"id\":\"1236\",\"type\":\"HelpTool\"}]},\"id\":\"1237\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1231\",\"type\":\"PanTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1213\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1219\",\"type\":\"LinearScale\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1273\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1232\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1272\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"1273\",\"type\":\"BoxAnnotation\"}},\"id\":\"1233\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1234\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1235\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1236\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[1,2,3,4,5],\"y\":[3,7,8,5,1]},\"selected\":{\"id\":\"1275\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1274\",\"type\":\"UnionRenderers\"}},\"id\":\"1211\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"ticker\":{\"id\":\"1222\",\"type\":\"BasicTicker\"}},\"id\":\"1225\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"1211\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1245\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1246\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1248\",\"type\":\"CDSView\"}},\"id\":\"1247\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1211\",\"type\":\"ColumnDataSource\"}},\"id\":\"1248\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1222\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1270\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"formatter\":{\"id\":\"1272\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1222\",\"type\":\"BasicTicker\"}},\"id\":\"1221\",\"type\":\"LinearAxis\"},{\"attributes\":{\"formatter\":{\"id\":\"1270\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1227\",\"type\":\"BasicTicker\"}},\"id\":\"1226\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1274\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"1215\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1275\",\"type\":\"Selection\"}],\"root_ids\":[\"1212\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"599456aa-8e91-4d74-9a22-d6c615c2b06b\",\"roots\":{\"1212\":\"f54a210c-1de6-480e-9d30-aa9d67e9f2d0\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1212"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.models import ColumnDataSource\n",
    "source = ColumnDataSource(data={\n",
    "    'x' : [1, 2, 3, 4, 5],\n",
    "    'y' : [3, 7, 8, 5, 1],\n",
    "})  # 其中数据列表长度相同，即坐标对应关系\n",
    "p = figure(plot_width=400, plot_height=400)\n",
    "p.circle('x', 'y', size=20, source=source)\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Python Dict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"4977a84b-502a-44a6-b793-c34dd052286d\" data-root-id=\"5432\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"c9d2aa02-c376-4715-9a27-818b50ef3bb6\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"5441\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"5445\",\"type\":\"Grid\"},{\"id\":\"5450\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"5446\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"5469\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5656\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5457\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"5433\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5437\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5435\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5439\",\"type\":\"LinearScale\"}},\"id\":\"5432\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"5447\",\"type\":\"BasicTicker\"}},\"id\":\"5450\",\"type\":\"Grid\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5451\",\"type\":\"PanTool\"},{\"id\":\"5452\",\"type\":\"WheelZoomTool\"},{\"id\":\"5453\",\"type\":\"BoxZoomTool\"},{\"id\":\"5454\",\"type\":\"SaveTool\"},{\"id\":\"5455\",\"type\":\"ResetTool\"},{\"id\":\"5456\",\"type\":\"HelpTool\"}]},\"id\":\"5457\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null,\"data\":{\"r\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[4000]},\"x\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[4000]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[4000]}},\"selected\":{\"id\":\"5662\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"5663\",\"type\":\"UnionRenderers\"}},\"id\":\"5465\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"text\":\"\"},\"id\":\"5656\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"5451\",\"type\":\"PanTool\"},{\"attributes\":{\"high\":100,\"low\":0,\"palette\":[\"#440154\",\"#440255\",\"#440357\",\"#450558\",\"#45065A\",\"#45085B\",\"#46095C\",\"#460B5E\",\"#460C5F\",\"#460E61\",\"#470F62\",\"#471163\",\"#471265\",\"#471466\",\"#471567\",\"#471669\",\"#47186A\",\"#48196B\",\"#481A6C\",\"#481C6E\",\"#481D6F\",\"#481E70\",\"#482071\",\"#482172\",\"#482273\",\"#482374\",\"#472575\",\"#472676\",\"#472777\",\"#472878\",\"#472A79\",\"#472B7A\",\"#472C7B\",\"#462D7C\",\"#462F7C\",\"#46307D\",\"#46317E\",\"#45327F\",\"#45347F\",\"#453580\",\"#453681\",\"#443781\",\"#443982\",\"#433A83\",\"#433B83\",\"#433C84\",\"#423D84\",\"#423E85\",\"#424085\",\"#414186\",\"#414286\",\"#404387\",\"#404487\",\"#3F4587\",\"#3F4788\",\"#3E4888\",\"#3E4989\",\"#3D4A89\",\"#3D4B89\",\"#3D4C89\",\"#3C4D8A\",\"#3C4E8A\",\"#3B508A\",\"#3B518A\",\"#3A528B\",\"#3A538B\",\"#39548B\",\"#39558B\",\"#38568B\",\"#38578C\",\"#37588C\",\"#37598C\",\"#365A8C\",\"#365B8C\",\"#355C8C\",\"#355D8C\",\"#345E8D\",\"#345F8D\",\"#33608D\",\"#33618D\",\"#32628D\",\"#32638D\",\"#31648D\",\"#31658D\",\"#31668D\",\"#30678D\",\"#30688D\",\"#2F698D\",\"#2F6A8D\",\"#2E6B8E\",\"#2E6C8E\",\"#2E6D8E\",\"#2D6E8E\",\"#2D6F8E\",\"#2C708E\",\"#2C718E\",\"#2C728E\",\"#2B738E\",\"#2B748E\",\"#2A758E\",\"#2A768E\",\"#2A778E\",\"#29788E\",\"#29798E\",\"#287A8E\",\"#287A8E\",\"#287B8E\",\"#277C8E\",\"#277D8E\",\"#277E8E\",\"#267F8E\",\"#26808E\",\"#26818E\",\"#25828E\",\"#25838D\",\"#24848D\",\"#24858D\",\"#24868D\",\"#23878D\",\"#23888D\",\"#23898D\",\"#22898D\",\"#228A8D\",\"#228B8D\",\"#218C8D\",\"#218D8C\",\"#218E8C\",\"#208F8C\",\"#20908C\",\"#20918C\",\"#1F928C\",\"#1F938B\",\"#1F948B\",\"#1F958B\",\"#1F968B\",\"#1E978A\",\"#1E988A\",\"#1E998A\",\"#1E998A\",\"#1E9A89\",\"#1E9B89\",\"#1E9C89\",\"#1E9D88\",\"#1E9E88\",\"#1E9F88\",\"#1EA087\",\"#1FA187\",\"#1FA286\",\"#1FA386\",\"#20A485\",\"#20A585\",\"#21A685\",\"#21A784\",\"#22A784\",\"#23A883\",\"#23A982\",\"#24AA82\",\"#25AB81\",\"#26AC81\",\"#27AD80\",\"#28AE7F\",\"#29AF7F\",\"#2AB07E\",\"#2BB17D\",\"#2CB17D\",\"#2EB27C\",\"#2FB37B\",\"#30B47A\",\"#32B57A\",\"#33B679\",\"#35B778\",\"#36B877\",\"#38B976\",\"#39B976\",\"#3BBA75\",\"#3DBB74\",\"#3EBC73\",\"#40BD72\",\"#42BE71\",\"#44BE70\",\"#45BF6F\",\"#47C06E\",\"#49C16D\",\"#4BC26C\",\"#4DC26B\",\"#4FC369\",\"#51C468\",\"#53C567\",\"#55C666\",\"#57C665\",\"#59C764\",\"#5BC862\",\"#5EC961\",\"#60C960\",\"#62CA5F\",\"#64CB5D\",\"#67CC5C\",\"#69CC5B\",\"#6BCD59\",\"#6DCE58\",\"#70CE56\",\"#72CF55\",\"#74D054\",\"#77D052\",\"#79D151\",\"#7CD24F\",\"#7ED24E\",\"#81D34C\",\"#83D34B\",\"#86D449\",\"#88D547\",\"#8BD546\",\"#8DD644\",\"#90D643\",\"#92D741\",\"#95D73F\",\"#97D83E\",\"#9AD83C\",\"#9DD93A\",\"#9FD938\",\"#A2DA37\",\"#A5DA35\",\"#A7DB33\",\"#AADB32\",\"#ADDC30\",\"#AFDC2E\",\"#B2DD2C\",\"#B5DD2B\",\"#B7DD29\",\"#BADE27\",\"#BDDE26\",\"#BFDF24\",\"#C2DF22\",\"#C5DF21\",\"#C7E01F\",\"#CAE01E\",\"#CDE01D\",\"#CFE11C\",\"#D2E11B\",\"#D4E11A\",\"#D7E219\",\"#DAE218\",\"#DCE218\",\"#DFE318\",\"#E1E318\",\"#E4E318\",\"#E7E419\",\"#E9E419\",\"#ECE41A\",\"#EEE51B\",\"#F1E51C\",\"#F3E51E\",\"#F6E61F\",\"#F8E621\",\"#FAE622\",\"#FDE724\"]},\"id\":\"5464\",\"type\":\"LinearColorMapper\"},{\"attributes\":{},\"id\":\"5452\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"5661\",\"type\":\"BoxAnnotation\"}},\"id\":\"5453\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"5454\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"5455\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"5456\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"5658\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"5433\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5660\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.6},\"fill_color\":{\"field\":\"x\",\"transform\":{\"id\":\"5464\",\"type\":\"LinearColorMapper\"}},\"line_color\":{\"field\":\"x\",\"transform\":{\"id\":\"5464\",\"type\":\"LinearColorMapper\"}},\"radius\":{\"field\":\"r\",\"units\":\"data\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"5467\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null},\"id\":\"5435\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"radius\":{\"field\":\"r\",\"units\":\"data\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"5468\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5437\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"5465\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5467\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5468\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5470\",\"type\":\"CDSView\"}},\"id\":\"5469\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"5439\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"5465\",\"type\":\"ColumnDataSource\"}},\"id\":\"5470\",\"type\":\"CDSView\"},{\"attributes\":{\"formatter\":{\"id\":\"5658\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"5442\",\"type\":\"BasicTicker\"}},\"id\":\"5441\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5442\",\"type\":\"BasicTicker\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"5661\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"ticker\":{\"id\":\"5442\",\"type\":\"BasicTicker\"}},\"id\":\"5445\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"5662\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"5660\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"5447\",\"type\":\"BasicTicker\"}},\"id\":\"5446\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5663\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"5447\",\"type\":\"BasicTicker\"}],\"root_ids\":[\"5432\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"c9d2aa02-c376-4715-9a27-818b50ef3bb6\",\"roots\":{\"5432\":\"4977a84b-502a-44a6-b793-c34dd052286d\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "5432"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from bokeh.transform import linear_cmap\n",
    "# 调色盘参见 https://bokeh.pydata.org/en/latest/docs/reference/palettes.html\n",
    "N = 4000\n",
    "data = dict(x=np.random.random(size=N) * 100,\n",
    "            y=np.random.random(size=N) * 100,\n",
    "            r=np.random.random(size=N) * 1.5)\n",
    "p = figure(plot_width=400, plot_height=400)\n",
    "p.circle('x', 'y', radius='r', source=data, fill_alpha=0.6,\n",
    "         # 基于x数值对'Viridis256'进行线性映射，结果为一个色值列表\n",
    "         color=linear_cmap('x', 'Viridis256', 0, 100))\n",
    "show(p) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# NumPy Arrays"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"1ec81b36-4dfb-4796-9051-e7ba20fee767\" data-root-id=\"1102\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"ee6e511a-dd1f-4de3-a26c-35a9a671e0af\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1111\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1115\",\"type\":\"Grid\"},{\"id\":\"1120\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"1116\",\"type\":\"LinearAxis\"}],\"renderers\":[{\"id\":\"1137\",\"type\":\"GlyphRenderer\"},{\"id\":\"1142\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1153\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1127\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1103\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1107\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1105\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1109\",\"type\":\"LinearScale\"}},\"id\":\"1102\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1117\",\"type\":\"BasicTicker\"}},\"id\":\"1120\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"1139\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1140\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1141\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1143\",\"type\":\"CDSView\"}},\"id\":\"1142\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"1134\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1135\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1136\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1138\",\"type\":\"CDSView\"}},\"id\":\"1137\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1155\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1157\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":9},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1136\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1124\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"AQAAAAIAAAADAAAABAAAAAUAAAA=\",\"dtype\":\"int32\",\"shape\":[5]},\"y\":{\"__ndarray__\":\"BQAAAAYAAAAHAAAACAAAAAkAAAA=\",\"dtype\":\"int32\",\"shape\":[5]}},\"selected\":{\"id\":\"1159\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1160\",\"type\":\"UnionRenderers\"}},\"id\":\"1134\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1159\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1125\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1161\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1160\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"overlay\":{\"id\":\"1163\",\"type\":\"BoxAnnotation\"}},\"id\":\"1123\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":{\"__ndarray__\":\"CgAAAAsAAAAMAAAADQAAAA==\",\"dtype\":\"int32\",\"shape\":[4]},\"y\":{\"__ndarray__\":\"DgAAAA8AAAAQAAAAEQAAAA==\",\"dtype\":\"int32\",\"shape\":[4]}},\"selected\":{\"id\":\"1161\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1162\",\"type\":\"UnionRenderers\"}},\"id\":\"1139\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1163\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1122\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1121\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1162\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1126\",\"type\":\"HelpTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1121\",\"type\":\"PanTool\"},{\"id\":\"1122\",\"type\":\"WheelZoomTool\"},{\"id\":\"1123\",\"type\":\"BoxZoomTool\"},{\"id\":\"1124\",\"type\":\"SaveTool\"},{\"id\":\"1125\",\"type\":\"ResetTool\"},{\"id\":\"1126\",\"type\":\"HelpTool\"}]},\"id\":\"1127\",\"type\":\"Toolbar\"},{\"attributes\":{\"ticker\":{\"id\":\"1112\",\"type\":\"BasicTicker\"}},\"id\":\"1115\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1109\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"value\":\"blue\"},\"line_alpha\":{\"value\":0.8},\"line_color\":{\"value\":\"blue\"},\"size\":{\"units\":\"screen\",\"value\":9},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1140\",\"type\":\"Circle\"},{\"attributes\":{\"formatter\":{\"id\":\"1157\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1112\",\"type\":\"BasicTicker\"}},\"id\":\"1111\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1117\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":9},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1141\",\"type\":\"Circle\"},{\"attributes\":{\"source\":{\"id\":\"1134\",\"type\":\"ColumnDataSource\"}},\"id\":\"1138\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.8},\"fill_color\":{\"value\":\"red\"},\"line_alpha\":{\"value\":0.8},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":9},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1135\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1112\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1107\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"1105\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"1103\",\"type\":\"DataRange1d\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1153\",\"type\":\"Title\"},{\"attributes\":{\"source\":{\"id\":\"1139\",\"type\":\"ColumnDataSource\"}},\"id\":\"1143\",\"type\":\"CDSView\"},{\"attributes\":{\"formatter\":{\"id\":\"1155\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1117\",\"type\":\"BasicTicker\"}},\"id\":\"1116\",\"type\":\"LinearAxis\"}],\"root_ids\":[\"1102\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"ee6e511a-dd1f-4de3-a26c-35a9a671e0af\",\"roots\":{\"1102\":\"1ec81b36-4dfb-4796-9051-e7ba20fee767\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1102"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import random\n",
    "# 使用NumPy创建数组\n",
    "x_red = np.array([1,2,3,4,5])\n",
    "y_red = np.array([5,6,7,8,9])\n",
    "x_blue = np.array([10,11,12,13])\n",
    "y_blue = np.array([14,15,16,17])\n",
    "# 画布\n",
    "plot = figure()\n",
    "# 绘图\n",
    "plot.circle(x_red, y_red, size = 9, color = 'red', alpha = 0.8)\n",
    "plot.circle(x_blue, y_blue, size = 9, color = 'blue', alpha = 0.8)\n",
    "# 显示\n",
    "show(plot)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Pandas DataFrame"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"fb9cc523-cd98-4571-be93-2b07b80d0dba\" data-root-id=\"1457\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"3b10613c-4177-4b97-9bb7-7fafdb4535bb\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1466\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1470\",\"type\":\"Grid\"},{\"id\":\"1475\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"1471\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1493\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1531\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1482\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1458\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1462\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1460\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1464\",\"type\":\"LinearScale\"}},\"id\":\"1457\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1476\",\"type\":\"PanTool\"},{\"id\":\"1477\",\"type\":\"WheelZoomTool\"},{\"id\":\"1478\",\"type\":\"BoxZoomTool\"},{\"id\":\"1479\",\"type\":\"SaveTool\"},{\"id\":\"1480\",\"type\":\"ResetTool\"},{\"id\":\"1481\",\"type\":\"HelpTool\"}]},\"id\":\"1482\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1538\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1539\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1467\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1536\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"formatter\":{\"id\":\"1536\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1467\",\"type\":\"BasicTicker\"}},\"id\":\"1466\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"data\":{\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],\"petal_length\":{\"__ndarray__\":\"ZmZmZmZm9j9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D9mZmZmZmb2PzMzMzMzM/s/ZmZmZmZm9j8AAAAAAAD4P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P5qZmZmZmfk/ZmZmZmZm9j+amZmZmZnxPzMzMzMzM/M/AAAAAAAA+D/NzMzMzMz0P2ZmZmZmZvY/MzMzMzMz+z8AAAAAAAD4PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwPzMzMzMzM/s/ZmZmZmZm/j+amZmZmZn5P5qZmZmZmfk/AAAAAAAA+D9mZmZmZmb2P5qZmZmZmfk/mpmZmZmZ+T8AAAAAAAD4PwAAAAAAAPg/ZmZmZmZm9j8AAAAAAAD4PzMzMzMzM/M/zczMzMzM9D9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P83MzMzMzPQ/zczMzMzM9D+amZmZmZn5P2ZmZmZmZv4/ZmZmZmZm9j+amZmZmZn5P2ZmZmZmZvY/AAAAAAAA+D9mZmZmZmb2P83MzMzMzBJAAAAAAAAAEkCamZmZmZkTQAAAAAAAABBAZmZmZmZmEkAAAAAAAAASQM3MzMzMzBJAZmZmZmZmCkBmZmZmZmYSQDMzMzMzMw9AAAAAAAAADEDNzMzMzMwQQAAAAAAAABBAzczMzMzMEkDNzMzMzMwMQJqZmZmZmRFAAAAAAAAAEkBmZmZmZmYQQAAAAAAAABJAMzMzMzMzD0AzMzMzMzMTQAAAAAAAABBAmpmZmZmZE0DNzMzMzMwSQDMzMzMzMxFAmpmZmZmZEUAzMzMzMzMTQAAAAAAAABRAAAAAAAAAEkAAAAAAAAAMQGZmZmZmZg5AmpmZmZmZDUAzMzMzMzMPQGZmZmZmZhRAAAAAAAAAEkAAAAAAAAASQM3MzMzMzBJAmpmZmZmZEUBmZmZmZmYQQAAAAAAAABBAmpmZmZmZEUBmZmZmZmYSQAAAAAAAABBAZmZmZmZmCkDNzMzMzMwQQM3MzMzMzBBAzczMzMzMEEAzMzMzMzMRQAAAAAAAAAhAZmZmZmZmEEAAAAAAAAAYQGZmZmZmZhRAmpmZmZmZF0BmZmZmZmYWQDMzMzMzMxdAZmZmZmZmGkAAAAAAAAASQDMzMzMzMxlAMzMzMzMzF0BmZmZmZmYYQGZmZmZmZhRAMzMzMzMzFUAAAAAAAAAWQAAAAAAAABRAZmZmZmZmFEAzMzMzMzMVQAAAAAAAABZAzczMzMzMGkCamZmZmZkbQAAAAAAAABRAzczMzMzMFkCamZmZmZkTQM3MzMzMzBpAmpmZmZmZE0DNzMzMzMwWQAAAAAAAABhAMzMzMzMzE0CamZmZmZkTQGZmZmZmZhZAMzMzMzMzF0BmZmZmZmYYQJqZmZmZmRlAZmZmZmZmFkBmZmZmZmYUQGZmZmZmZhZAZmZmZmZmGEBmZmZmZmYWQAAAAAAAABZAMzMzMzMzE0CamZmZmZkVQGZmZmZmZhZAZmZmZmZmFEBmZmZmZmYUQJqZmZmZmRdAzczMzMzMFkDNzMzMzMwUQAAAAAAAABRAzczMzMzMFECamZmZmZkVQGZmZmZmZhRA\",\"dtype\":\"float64\",\"shape\":[150]},\"petal_width\":{\"__ndarray__\":\"mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZm5P5qZmZmZmck/mpmZmZmZ2T+amZmZmZnZPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTP5qZmZmZmck/mpmZmZmZ2T+amZmZmZnJPwAAAAAAAOA/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnZP5qZmZmZmbk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZm5P5qZmZmZmck/mpmZmZmZyT8zMzMzMzPTPzMzMzMzM9M/mpmZmZmZyT8zMzMzMzPjP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P5qZmZmZmfk/AAAAAAAA8D/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAPA/ZmZmZmZm9j/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAADwPwAAAAAAAPg/mpmZmZmZ8T/NzMzMzMz8P83MzMzMzPQ/AAAAAAAA+D8zMzMzMzPzP83MzMzMzPQ/ZmZmZmZm9j9mZmZmZmb2PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwP5qZmZmZmfE/AAAAAAAA8D8zMzMzMzPzP5qZmZmZmfk/AAAAAAAA+D+amZmZmZn5PwAAAAAAAPg/zczMzMzM9D/NzMzMzMz0P83MzMzMzPQ/MzMzMzMz8z9mZmZmZmb2PzMzMzMzM/M/AAAAAAAA8D/NzMzMzMz0PzMzMzMzM/M/zczMzMzM9D/NzMzMzMz0P5qZmZmZmfE/zczMzMzM9D8AAAAAAAAEQGZmZmZmZv4/zczMzMzMAEDNzMzMzMz8P5qZmZmZmQFAzczMzMzMAEAzMzMzMzP7P83MzMzMzPw/zczMzMzM/D8AAAAAAAAEQAAAAAAAAABAZmZmZmZm/j/NzMzMzMwAQAAAAAAAAABAMzMzMzMzA0BmZmZmZmYCQM3MzMzMzPw/mpmZmZmZAUBmZmZmZmYCQAAAAAAAAPg/ZmZmZmZmAkAAAAAAAAAAQAAAAAAAAABAzczMzMzM/D/NzMzMzMwAQM3MzMzMzPw/zczMzMzM/D/NzMzMzMz8P83MzMzMzABAmpmZmZmZ+T9mZmZmZmb+PwAAAAAAAABAmpmZmZmZAUAAAAAAAAD4P2ZmZmZmZvY/ZmZmZmZmAkAzMzMzMzMDQM3MzMzMzPw/zczMzMzM/D/NzMzMzMwAQDMzMzMzMwNAZmZmZmZmAkBmZmZmZmb+P2ZmZmZmZgJAAAAAAAAABEBmZmZmZmYCQGZmZmZmZv4/AAAAAAAAAEBmZmZmZmYCQM3MzMzMzPw/\",\"dtype\":\"float64\",\"shape\":[150]},\"sepal_length\":{\"__ndarray__\":\"ZmZmZmZmFECamZmZmZkTQM3MzMzMzBJAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRVAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRFAmpmZmZmZE0CamZmZmZkVQDMzMzMzMxNAMzMzMzMzE0AzMzMzMzMRQDMzMzMzMxdAzczMzMzMFkCamZmZmZkVQGZmZmZmZhRAzczMzMzMFkBmZmZmZmYUQJqZmZmZmRVAZmZmZmZmFEBmZmZmZmYSQGZmZmZmZhRAMzMzMzMzE0AAAAAAAAAUQAAAAAAAABRAzczMzMzMFEDNzMzMzMwUQM3MzMzMzBJAMzMzMzMzE0CamZmZmZkVQM3MzMzMzBRAAAAAAAAAFkCamZmZmZkTQAAAAAAAABRAAAAAAAAAFkCamZmZmZkTQJqZmZmZmRFAZmZmZmZmFEAAAAAAAAAUQAAAAAAAABJAmpmZmZmZEUAAAAAAAAAUQGZmZmZmZhRAMzMzMzMzE0BmZmZmZmYUQGZmZmZmZhJAMzMzMzMzFUAAAAAAAAAUQAAAAAAAABxAmpmZmZmZGUCamZmZmZkbQAAAAAAAABZAAAAAAAAAGkDNzMzMzMwWQDMzMzMzMxlAmpmZmZmZE0BmZmZmZmYaQM3MzMzMzBRAAAAAAAAAFECamZmZmZkXQAAAAAAAABhAZmZmZmZmGEBmZmZmZmYWQM3MzMzMzBpAZmZmZmZmFkAzMzMzMzMXQM3MzMzMzBhAZmZmZmZmFkCamZmZmZkXQGZmZmZmZhhAMzMzMzMzGUBmZmZmZmYYQJqZmZmZmRlAZmZmZmZmGkAzMzMzMzMbQM3MzMzMzBpAAAAAAAAAGEDNzMzMzMwWQAAAAAAAABZAAAAAAAAAFkAzMzMzMzMXQAAAAAAAABhAmpmZmZmZFUAAAAAAAAAYQM3MzMzMzBpAMzMzMzMzGUBmZmZmZmYWQAAAAAAAABZAAAAAAAAAFkBmZmZmZmYYQDMzMzMzMxdAAAAAAAAAFEBmZmZmZmYWQM3MzMzMzBZAzczMzMzMFkDNzMzMzMwYQGZmZmZmZhRAzczMzMzMFkAzMzMzMzMZQDMzMzMzMxdAZmZmZmZmHEAzMzMzMzMZQAAAAAAAABpAZmZmZmZmHkCamZmZmZkTQDMzMzMzMx1AzczMzMzMGkDNzMzMzMwcQAAAAAAAABpAmpmZmZmZGUAzMzMzMzMbQM3MzMzMzBZAMzMzMzMzF0CamZmZmZkZQAAAAAAAABpAzczMzMzMHkDNzMzMzMweQAAAAAAAABhAmpmZmZmZG0BmZmZmZmYWQM3MzMzMzB5AMzMzMzMzGUDNzMzMzMwaQM3MzMzMzBxAzczMzMzMGEBmZmZmZmYYQJqZmZmZmRlAzczMzMzMHECamZmZmZkdQJqZmZmZmR9AmpmZmZmZGUAzMzMzMzMZQGZmZmZmZhhAzczMzMzMHkAzMzMzMzMZQJqZmZmZmRlAAAAAAAAAGECamZmZmZkbQM3MzMzMzBpAmpmZmZmZG0AzMzMzMzMXQDMzMzMzMxtAzczMzMzMGkDNzMzMzMwaQDMzMzMzMxlAAAAAAAAAGkDNzMzMzMwYQJqZmZmZmRdA\",\"dtype\":\"float64\",\"shape\":[150]},\"sepal_width\":{\"__ndarray__\":\"AAAAAAAADEAAAAAAAAAIQJqZmZmZmQlAzczMzMzMCEDNzMzMzMwMQDMzMzMzMw9AMzMzMzMzC0AzMzMzMzMLQDMzMzMzMwdAzczMzMzMCECamZmZmZkNQDMzMzMzMwtAAAAAAAAACEAAAAAAAAAIQAAAAAAAABBAmpmZmZmZEUAzMzMzMzMPQAAAAAAAAAxAZmZmZmZmDkBmZmZmZmYOQDMzMzMzMwtAmpmZmZmZDUDNzMzMzMwMQGZmZmZmZgpAMzMzMzMzC0AAAAAAAAAIQDMzMzMzMwtAAAAAAAAADEAzMzMzMzMLQJqZmZmZmQlAzczMzMzMCEAzMzMzMzMLQGZmZmZmZhBAzczMzMzMEEDNzMzMzMwIQJqZmZmZmQlAAAAAAAAADEDNzMzMzMwMQAAAAAAAAAhAMzMzMzMzC0AAAAAAAAAMQGZmZmZmZgJAmpmZmZmZCUAAAAAAAAAMQGZmZmZmZg5AAAAAAAAACEBmZmZmZmYOQJqZmZmZmQlAmpmZmZmZDUBmZmZmZmYKQJqZmZmZmQlAmpmZmZmZCUDNzMzMzMwIQGZmZmZmZgJAZmZmZmZmBkBmZmZmZmYGQGZmZmZmZgpAMzMzMzMzA0AzMzMzMzMHQJqZmZmZmQVAAAAAAAAAAEAAAAAAAAAIQJqZmZmZmQFAMzMzMzMzB0AzMzMzMzMHQM3MzMzMzAhAAAAAAAAACECamZmZmZkFQJqZmZmZmQFAAAAAAAAABECamZmZmZkJQGZmZmZmZgZAAAAAAAAABEBmZmZmZmYGQDMzMzMzMwdAAAAAAAAACEBmZmZmZmYGQAAAAAAAAAhAMzMzMzMzB0DNzMzMzMwEQDMzMzMzMwNAMzMzMzMzA0CamZmZmZkFQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAZmZmZmZmAkAAAAAAAAAIQAAAAAAAAARAzczMzMzMBEAAAAAAAAAIQM3MzMzMzARAZmZmZmZmAkCamZmZmZkFQAAAAAAAAAhAMzMzMzMzB0AzMzMzMzMHQAAAAAAAAARAZmZmZmZmBkBmZmZmZmYKQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMHQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAEQDMzMzMzMwdAAAAAAAAABEDNzMzMzMwMQJqZmZmZmQlAmpmZmZmZBUAAAAAAAAAIQAAAAAAAAARAZmZmZmZmBkCamZmZmZkJQAAAAAAAAAhAZmZmZmZmDkDNzMzMzMwEQJqZmZmZmQFAmpmZmZmZCUBmZmZmZmYGQGZmZmZmZgZAmpmZmZmZBUBmZmZmZmYKQJqZmZmZmQlAZmZmZmZmBkAAAAAAAAAIQGZmZmZmZgZAAAAAAAAACEBmZmZmZmYGQGZmZmZmZg5AZmZmZmZmBkBmZmZmZmYGQM3MzMzMzARAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAAAAAAAAACEDNzMzMzMwIQM3MzMzMzAhAzczMzMzMCECamZmZmZkFQJqZmZmZmQlAZmZmZmZmCkAAAAAAAAAIQAAAAAAAAARAAAAAAAAACEAzMzMzMzMLQAAAAAAAAAhA\",\"dtype\":\"float64\",\"shape\":[150]},\"species\":[\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\"]},\"selected\":{\"id\":\"1539\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1538\",\"type\":\"UnionRenderers\"}},\"id\":\"1489\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1464\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1462\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1489\",\"type\":\"ColumnDataSource\"}},\"id\":\"1494\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null},\"id\":\"1460\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1492\",\"type\":\"Circle\"},{\"attributes\":{\"data_source\":{\"id\":\"1489\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1491\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1492\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1494\",\"type\":\"CDSView\"}},\"id\":\"1493\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1491\",\"type\":\"Circle\"},{\"attributes\":{\"formatter\":{\"id\":\"1534\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1472\",\"type\":\"BasicTicker\"}},\"id\":\"1471\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1537\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"ticker\":{\"id\":\"1467\",\"type\":\"BasicTicker\"}},\"id\":\"1470\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1481\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1476\",\"type\":\"PanTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1458\",\"type\":\"DataRange1d\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1472\",\"type\":\"BasicTicker\"}},\"id\":\"1475\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1479\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1472\",\"type\":\"BasicTicker\"},{\"attributes\":{\"overlay\":{\"id\":\"1537\",\"type\":\"BoxAnnotation\"}},\"id\":\"1478\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1531\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1480\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1477\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1534\",\"type\":\"BasicTickFormatter\"}],\"root_ids\":[\"1457\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"3b10613c-4177-4b97-9bb7-7fafdb4535bb\",\"roots\":{\"1457\":\"fb9cc523-cd98-4571-be93-2b07b80d0dba\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1457"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.sampledata.iris import flowers as df  # 从数据集获取的数据为DataFrame格式\n",
    "# source = ColumnDataSource(df)  # 直接转换\n",
    "p = figure(plot_width=400, plot_height=400)\n",
    "p.circle('petal_length', 'petal_width', source=df)\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"0387781c-9e62-4940-adbe-ce3de5ae40a7\" data-root-id=\"1333\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"196c9cc3-1602-4d14-8bdc-067f89f418f0\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1342\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1346\",\"type\":\"Grid\"},{\"id\":\"1351\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"1347\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1368\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1398\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1358\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1334\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1338\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1336\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1340\",\"type\":\"LinearScale\"}},\"id\":\"1333\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1338\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1340\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"1332\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1366\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1367\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1369\",\"type\":\"CDSView\"}},\"id\":\"1368\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"formatter\":{\"id\":\"1400\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1343\",\"type\":\"BasicTicker\"}},\"id\":\"1342\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"data\":{\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],\"petal_length\":{\"__ndarray__\":\"ZmZmZmZm9j9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D9mZmZmZmb2PzMzMzMzM/s/ZmZmZmZm9j8AAAAAAAD4P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P5qZmZmZmfk/ZmZmZmZm9j+amZmZmZnxPzMzMzMzM/M/AAAAAAAA+D/NzMzMzMz0P2ZmZmZmZvY/MzMzMzMz+z8AAAAAAAD4PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwPzMzMzMzM/s/ZmZmZmZm/j+amZmZmZn5P5qZmZmZmfk/AAAAAAAA+D9mZmZmZmb2P5qZmZmZmfk/mpmZmZmZ+T8AAAAAAAD4PwAAAAAAAPg/ZmZmZmZm9j8AAAAAAAD4PzMzMzMzM/M/zczMzMzM9D9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P83MzMzMzPQ/zczMzMzM9D+amZmZmZn5P2ZmZmZmZv4/ZmZmZmZm9j+amZmZmZn5P2ZmZmZmZvY/AAAAAAAA+D9mZmZmZmb2P83MzMzMzBJAAAAAAAAAEkCamZmZmZkTQAAAAAAAABBAZmZmZmZmEkAAAAAAAAASQM3MzMzMzBJAZmZmZmZmCkBmZmZmZmYSQDMzMzMzMw9AAAAAAAAADEDNzMzMzMwQQAAAAAAAABBAzczMzMzMEkDNzMzMzMwMQJqZmZmZmRFAAAAAAAAAEkBmZmZmZmYQQAAAAAAAABJAMzMzMzMzD0AzMzMzMzMTQAAAAAAAABBAmpmZmZmZE0DNzMzMzMwSQDMzMzMzMxFAmpmZmZmZEUAzMzMzMzMTQAAAAAAAABRAAAAAAAAAEkAAAAAAAAAMQGZmZmZmZg5AmpmZmZmZDUAzMzMzMzMPQGZmZmZmZhRAAAAAAAAAEkAAAAAAAAASQM3MzMzMzBJAmpmZmZmZEUBmZmZmZmYQQAAAAAAAABBAmpmZmZmZEUBmZmZmZmYSQAAAAAAAABBAZmZmZmZmCkDNzMzMzMwQQM3MzMzMzBBAzczMzMzMEEAzMzMzMzMRQAAAAAAAAAhAZmZmZmZmEEAAAAAAAAAYQGZmZmZmZhRAmpmZmZmZF0BmZmZmZmYWQDMzMzMzMxdAZmZmZmZmGkAAAAAAAAASQDMzMzMzMxlAMzMzMzMzF0BmZmZmZmYYQGZmZmZmZhRAMzMzMzMzFUAAAAAAAAAWQAAAAAAAABRAZmZmZmZmFEAzMzMzMzMVQAAAAAAAABZAzczMzMzMGkCamZmZmZkbQAAAAAAAABRAzczMzMzMFkCamZmZmZkTQM3MzMzMzBpAmpmZmZmZE0DNzMzMzMwWQAAAAAAAABhAMzMzMzMzE0CamZmZmZkTQGZmZmZmZhZAMzMzMzMzF0BmZmZmZmYYQJqZmZmZmRlAZmZmZmZmFkBmZmZmZmYUQGZmZmZmZhZAZmZmZmZmGEBmZmZmZmYWQAAAAAAAABZAMzMzMzMzE0CamZmZmZkVQGZmZmZmZhZAZmZmZmZmFEBmZmZmZmYUQJqZmZmZmRdAzczMzMzMFkDNzMzMzMwUQAAAAAAAABRAzczMzMzMFECamZmZmZkVQGZmZmZmZhRA\",\"dtype\":\"float64\",\"shape\":[150]},\"petal_width\":{\"__ndarray__\":\"mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZm5P5qZmZmZmck/mpmZmZmZ2T+amZmZmZnZPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTP5qZmZmZmck/mpmZmZmZ2T+amZmZmZnJPwAAAAAAAOA/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnZP5qZmZmZmbk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZm5P5qZmZmZmck/mpmZmZmZyT8zMzMzMzPTPzMzMzMzM9M/mpmZmZmZyT8zMzMzMzPjP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P5qZmZmZmfk/AAAAAAAA8D/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAPA/ZmZmZmZm9j/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAADwPwAAAAAAAPg/mpmZmZmZ8T/NzMzMzMz8P83MzMzMzPQ/AAAAAAAA+D8zMzMzMzPzP83MzMzMzPQ/ZmZmZmZm9j9mZmZmZmb2PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwP5qZmZmZmfE/AAAAAAAA8D8zMzMzMzPzP5qZmZmZmfk/AAAAAAAA+D+amZmZmZn5PwAAAAAAAPg/zczMzMzM9D/NzMzMzMz0P83MzMzMzPQ/MzMzMzMz8z9mZmZmZmb2PzMzMzMzM/M/AAAAAAAA8D/NzMzMzMz0PzMzMzMzM/M/zczMzMzM9D/NzMzMzMz0P5qZmZmZmfE/zczMzMzM9D8AAAAAAAAEQGZmZmZmZv4/zczMzMzMAEDNzMzMzMz8P5qZmZmZmQFAzczMzMzMAEAzMzMzMzP7P83MzMzMzPw/zczMzMzM/D8AAAAAAAAEQAAAAAAAAABAZmZmZmZm/j/NzMzMzMwAQAAAAAAAAABAMzMzMzMzA0BmZmZmZmYCQM3MzMzMzPw/mpmZmZmZAUBmZmZmZmYCQAAAAAAAAPg/ZmZmZmZmAkAAAAAAAAAAQAAAAAAAAABAzczMzMzM/D/NzMzMzMwAQM3MzMzMzPw/zczMzMzM/D/NzMzMzMz8P83MzMzMzABAmpmZmZmZ+T9mZmZmZmb+PwAAAAAAAABAmpmZmZmZAUAAAAAAAAD4P2ZmZmZmZvY/ZmZmZmZmAkAzMzMzMzMDQM3MzMzMzPw/zczMzMzM/D/NzMzMzMwAQDMzMzMzMwNAZmZmZmZmAkBmZmZmZmb+P2ZmZmZmZgJAAAAAAAAABEBmZmZmZmYCQGZmZmZmZv4/AAAAAAAAAEBmZmZmZmYCQM3MzMzMzPw/\",\"dtype\":\"float64\",\"shape\":[150]},\"sepal_length\":{\"__ndarray__\":\"ZmZmZmZmFECamZmZmZkTQM3MzMzMzBJAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRVAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRFAmpmZmZmZE0CamZmZmZkVQDMzMzMzMxNAMzMzMzMzE0AzMzMzMzMRQDMzMzMzMxdAzczMzMzMFkCamZmZmZkVQGZmZmZmZhRAzczMzMzMFkBmZmZmZmYUQJqZmZmZmRVAZmZmZmZmFEBmZmZmZmYSQGZmZmZmZhRAMzMzMzMzE0AAAAAAAAAUQAAAAAAAABRAzczMzMzMFEDNzMzMzMwUQM3MzMzMzBJAMzMzMzMzE0CamZmZmZkVQM3MzMzMzBRAAAAAAAAAFkCamZmZmZkTQAAAAAAAABRAAAAAAAAAFkCamZmZmZkTQJqZmZmZmRFAZmZmZmZmFEAAAAAAAAAUQAAAAAAAABJAmpmZmZmZEUAAAAAAAAAUQGZmZmZmZhRAMzMzMzMzE0BmZmZmZmYUQGZmZmZmZhJAMzMzMzMzFUAAAAAAAAAUQAAAAAAAABxAmpmZmZmZGUCamZmZmZkbQAAAAAAAABZAAAAAAAAAGkDNzMzMzMwWQDMzMzMzMxlAmpmZmZmZE0BmZmZmZmYaQM3MzMzMzBRAAAAAAAAAFECamZmZmZkXQAAAAAAAABhAZmZmZmZmGEBmZmZmZmYWQM3MzMzMzBpAZmZmZmZmFkAzMzMzMzMXQM3MzMzMzBhAZmZmZmZmFkCamZmZmZkXQGZmZmZmZhhAMzMzMzMzGUBmZmZmZmYYQJqZmZmZmRlAZmZmZmZmGkAzMzMzMzMbQM3MzMzMzBpAAAAAAAAAGEDNzMzMzMwWQAAAAAAAABZAAAAAAAAAFkAzMzMzMzMXQAAAAAAAABhAmpmZmZmZFUAAAAAAAAAYQM3MzMzMzBpAMzMzMzMzGUBmZmZmZmYWQAAAAAAAABZAAAAAAAAAFkBmZmZmZmYYQDMzMzMzMxdAAAAAAAAAFEBmZmZmZmYWQM3MzMzMzBZAzczMzMzMFkDNzMzMzMwYQGZmZmZmZhRAzczMzMzMFkAzMzMzMzMZQDMzMzMzMxdAZmZmZmZmHEAzMzMzMzMZQAAAAAAAABpAZmZmZmZmHkCamZmZmZkTQDMzMzMzMx1AzczMzMzMGkDNzMzMzMwcQAAAAAAAABpAmpmZmZmZGUAzMzMzMzMbQM3MzMzMzBZAMzMzMzMzF0CamZmZmZkZQAAAAAAAABpAzczMzMzMHkDNzMzMzMweQAAAAAAAABhAmpmZmZmZG0BmZmZmZmYWQM3MzMzMzB5AMzMzMzMzGUDNzMzMzMwaQM3MzMzMzBxAzczMzMzMGEBmZmZmZmYYQJqZmZmZmRlAzczMzMzMHECamZmZmZkdQJqZmZmZmR9AmpmZmZmZGUAzMzMzMzMZQGZmZmZmZhhAzczMzMzMHkAzMzMzMzMZQJqZmZmZmRlAAAAAAAAAGECamZmZmZkbQM3MzMzMzBpAmpmZmZmZG0AzMzMzMzMXQDMzMzMzMxtAzczMzMzMGkDNzMzMzMwaQDMzMzMzMxlAAAAAAAAAGkDNzMzMzMwYQJqZmZmZmRdA\",\"dtype\":\"float64\",\"shape\":[150]},\"sepal_width\":{\"__ndarray__\":\"AAAAAAAADEAAAAAAAAAIQJqZmZmZmQlAzczMzMzMCEDNzMzMzMwMQDMzMzMzMw9AMzMzMzMzC0AzMzMzMzMLQDMzMzMzMwdAzczMzMzMCECamZmZmZkNQDMzMzMzMwtAAAAAAAAACEAAAAAAAAAIQAAAAAAAABBAmpmZmZmZEUAzMzMzMzMPQAAAAAAAAAxAZmZmZmZmDkBmZmZmZmYOQDMzMzMzMwtAmpmZmZmZDUDNzMzMzMwMQGZmZmZmZgpAMzMzMzMzC0AAAAAAAAAIQDMzMzMzMwtAAAAAAAAADEAzMzMzMzMLQJqZmZmZmQlAzczMzMzMCEAzMzMzMzMLQGZmZmZmZhBAzczMzMzMEEDNzMzMzMwIQJqZmZmZmQlAAAAAAAAADEDNzMzMzMwMQAAAAAAAAAhAMzMzMzMzC0AAAAAAAAAMQGZmZmZmZgJAmpmZmZmZCUAAAAAAAAAMQGZmZmZmZg5AAAAAAAAACEBmZmZmZmYOQJqZmZmZmQlAmpmZmZmZDUBmZmZmZmYKQJqZmZmZmQlAmpmZmZmZCUDNzMzMzMwIQGZmZmZmZgJAZmZmZmZmBkBmZmZmZmYGQGZmZmZmZgpAMzMzMzMzA0AzMzMzMzMHQJqZmZmZmQVAAAAAAAAAAEAAAAAAAAAIQJqZmZmZmQFAMzMzMzMzB0AzMzMzMzMHQM3MzMzMzAhAAAAAAAAACECamZmZmZkFQJqZmZmZmQFAAAAAAAAABECamZmZmZkJQGZmZmZmZgZAAAAAAAAABEBmZmZmZmYGQDMzMzMzMwdAAAAAAAAACEBmZmZmZmYGQAAAAAAAAAhAMzMzMzMzB0DNzMzMzMwEQDMzMzMzMwNAMzMzMzMzA0CamZmZmZkFQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAZmZmZmZmAkAAAAAAAAAIQAAAAAAAAARAzczMzMzMBEAAAAAAAAAIQM3MzMzMzARAZmZmZmZmAkCamZmZmZkFQAAAAAAAAAhAMzMzMzMzB0AzMzMzMzMHQAAAAAAAAARAZmZmZmZmBkBmZmZmZmYKQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMHQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAEQDMzMzMzMwdAAAAAAAAABEDNzMzMzMwMQJqZmZmZmQlAmpmZmZmZBUAAAAAAAAAIQAAAAAAAAARAZmZmZmZmBkCamZmZmZkJQAAAAAAAAAhAZmZmZmZmDkDNzMzMzMwEQJqZmZmZmQFAmpmZmZmZCUBmZmZmZmYGQGZmZmZmZgZAmpmZmZmZBUBmZmZmZmYKQJqZmZmZmQlAZmZmZmZmBkAAAAAAAAAIQGZmZmZmZgZAAAAAAAAACEBmZmZmZmYGQGZmZmZmZg5AZmZmZmZmBkBmZmZmZmYGQM3MzMzMzARAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAAAAAAAAACEDNzMzMzMwIQM3MzMzMzAhAzczMzMzMCECamZmZmZkFQJqZmZmZmQlAZmZmZmZmCkAAAAAAAAAIQAAAAAAAAARAAAAAAAAACEAzMzMzMzMLQAAAAAAAAAhA\",\"dtype\":\"float64\",\"shape\":[150]},\"species\":[\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\"]},\"selected\":{\"id\":\"1404\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1405\",\"type\":\"UnionRenderers\"}},\"id\":\"1332\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1332\",\"type\":\"ColumnDataSource\"}},\"id\":\"1369\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1343\",\"type\":\"BasicTicker\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1398\",\"type\":\"Title\"},{\"attributes\":{\"ticker\":{\"id\":\"1343\",\"type\":\"BasicTicker\"}},\"id\":\"1346\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1400\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"formatter\":{\"id\":\"1402\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1348\",\"type\":\"BasicTicker\"}},\"id\":\"1347\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1402\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1348\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null},\"id\":\"1334\",\"type\":\"DataRange1d\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1403\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1348\",\"type\":\"BasicTicker\"}},\"id\":\"1351\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1404\",\"type\":\"Selection\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1367\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1405\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1366\",\"type\":\"Circle\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1352\",\"type\":\"PanTool\"},{\"id\":\"1353\",\"type\":\"WheelZoomTool\"},{\"id\":\"1354\",\"type\":\"BoxZoomTool\"},{\"id\":\"1355\",\"type\":\"SaveTool\"},{\"id\":\"1356\",\"type\":\"ResetTool\"},{\"id\":\"1357\",\"type\":\"HelpTool\"}]},\"id\":\"1358\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1352\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1353\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1403\",\"type\":\"BoxAnnotation\"}},\"id\":\"1354\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1355\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1356\",\"type\":\"ResetTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1336\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1357\",\"type\":\"HelpTool\"}],\"root_ids\":[\"1333\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"196c9cc3-1602-4d14-8bdc-067f89f418f0\",\"roots\":{\"1333\":\"0387781c-9e62-4940-adbe-ce3de5ae40a7\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1333"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.sampledata.iris import flowers as df  # 从数据集获取的数据为DataFrame格式\n",
    "source = ColumnDataSource(df)  # 直接转换\n",
    "p = figure(plot_width=400, plot_height=400)\n",
    "p.circle('petal_length', 'petal_width', source=source)\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>sepal_length</th>\n",
       "      <th>sepal_width</th>\n",
       "      <th>petal_length</th>\n",
       "      <th>petal_width</th>\n",
       "      <th>species</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>5.1</td>\n",
       "      <td>3.5</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4.9</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4.7</td>\n",
       "      <td>3.2</td>\n",
       "      <td>1.3</td>\n",
       "      <td>0.2</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4.6</td>\n",
       "      <td>3.1</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.2</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5.0</td>\n",
       "      <td>3.6</td>\n",
       "      <td>1.4</td>\n",
       "      <td>0.2</td>\n",
       "      <td>setosa</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   sepal_length  sepal_width  petal_length  petal_width species\n",
       "0           5.1          3.5           1.4          0.2  setosa\n",
       "1           4.9          3.0           1.4          0.2  setosa\n",
       "2           4.7          3.2           1.3          0.2  setosa\n",
       "3           4.6          3.1           1.5          0.2  setosa\n",
       "4           5.0          3.6           1.4          0.2  setosa"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Bokeh ColumnDataSource"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"83586d8d-dd8e-49d5-97d7-aa26799fec00\" data-root-id=\"1002\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"8161aba6-ec0b-4a56-85aa-e960f3b2a907\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1011\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1015\",\"type\":\"Grid\"},{\"id\":\"1020\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"1016\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1038\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1040\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1027\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1003\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1007\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1005\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1009\",\"type\":\"LinearScale\"}},\"id\":\"1002\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"formatter\":{\"id\":\"1045\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1017\",\"type\":\"BasicTicker\"}},\"id\":\"1016\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"data\":{\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],\"petal_length\":{\"__ndarray__\":\"ZmZmZmZm9j9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D9mZmZmZmb2PzMzMzMzM/s/ZmZmZmZm9j8AAAAAAAD4P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P5qZmZmZmfk/ZmZmZmZm9j+amZmZmZnxPzMzMzMzM/M/AAAAAAAA+D/NzMzMzMz0P2ZmZmZmZvY/MzMzMzMz+z8AAAAAAAD4PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwPzMzMzMzM/s/ZmZmZmZm/j+amZmZmZn5P5qZmZmZmfk/AAAAAAAA+D9mZmZmZmb2P5qZmZmZmfk/mpmZmZmZ+T8AAAAAAAD4PwAAAAAAAPg/ZmZmZmZm9j8AAAAAAAD4PzMzMzMzM/M/zczMzMzM9D9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P83MzMzMzPQ/zczMzMzM9D+amZmZmZn5P2ZmZmZmZv4/ZmZmZmZm9j+amZmZmZn5P2ZmZmZmZvY/AAAAAAAA+D9mZmZmZmb2P83MzMzMzBJAAAAAAAAAEkCamZmZmZkTQAAAAAAAABBAZmZmZmZmEkAAAAAAAAASQM3MzMzMzBJAZmZmZmZmCkBmZmZmZmYSQDMzMzMzMw9AAAAAAAAADEDNzMzMzMwQQAAAAAAAABBAzczMzMzMEkDNzMzMzMwMQJqZmZmZmRFAAAAAAAAAEkBmZmZmZmYQQAAAAAAAABJAMzMzMzMzD0AzMzMzMzMTQAAAAAAAABBAmpmZmZmZE0DNzMzMzMwSQDMzMzMzMxFAmpmZmZmZEUAzMzMzMzMTQAAAAAAAABRAAAAAAAAAEkAAAAAAAAAMQGZmZmZmZg5AmpmZmZmZDUAzMzMzMzMPQGZmZmZmZhRAAAAAAAAAEkAAAAAAAAASQM3MzMzMzBJAmpmZmZmZEUBmZmZmZmYQQAAAAAAAABBAmpmZmZmZEUBmZmZmZmYSQAAAAAAAABBAZmZmZmZmCkDNzMzMzMwQQM3MzMzMzBBAzczMzMzMEEAzMzMzMzMRQAAAAAAAAAhAZmZmZmZmEEAAAAAAAAAYQGZmZmZmZhRAmpmZmZmZF0BmZmZmZmYWQDMzMzMzMxdAZmZmZmZmGkAAAAAAAAASQDMzMzMzMxlAMzMzMzMzF0BmZmZmZmYYQGZmZmZmZhRAMzMzMzMzFUAAAAAAAAAWQAAAAAAAABRAZmZmZmZmFEAzMzMzMzMVQAAAAAAAABZAzczMzMzMGkCamZmZmZkbQAAAAAAAABRAzczMzMzMFkCamZmZmZkTQM3MzMzMzBpAmpmZmZmZE0DNzMzMzMwWQAAAAAAAABhAMzMzMzMzE0CamZmZmZkTQGZmZmZmZhZAMzMzMzMzF0BmZmZmZmYYQJqZmZmZmRlAZmZmZmZmFkBmZmZmZmYUQGZmZmZmZhZAZmZmZmZmGEBmZmZmZmYWQAAAAAAAABZAMzMzMzMzE0CamZmZmZkVQGZmZmZmZhZAZmZmZmZmFEBmZmZmZmYUQJqZmZmZmRdAzczMzMzMFkDNzMzMzMwUQAAAAAAAABRAzczMzMzMFECamZmZmZkVQGZmZmZmZhRA\",\"dtype\":\"float64\",\"shape\":[150]},\"petal_width\":{\"__ndarray__\":\"mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZm5P5qZmZmZmck/mpmZmZmZ2T+amZmZmZnZPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTP5qZmZmZmck/mpmZmZmZ2T+amZmZmZnJPwAAAAAAAOA/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnZP5qZmZmZmbk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZm5P5qZmZmZmck/mpmZmZmZyT8zMzMzMzPTPzMzMzMzM9M/mpmZmZmZyT8zMzMzMzPjP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P5qZmZmZmfk/AAAAAAAA8D/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAPA/ZmZmZmZm9j/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAADwPwAAAAAAAPg/mpmZmZmZ8T/NzMzMzMz8P83MzMzMzPQ/AAAAAAAA+D8zMzMzMzPzP83MzMzMzPQ/ZmZmZmZm9j9mZmZmZmb2PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwP5qZmZmZmfE/AAAAAAAA8D8zMzMzMzPzP5qZmZmZmfk/AAAAAAAA+D+amZmZmZn5PwAAAAAAAPg/zczMzMzM9D/NzMzMzMz0P83MzMzMzPQ/MzMzMzMz8z9mZmZmZmb2PzMzMzMzM/M/AAAAAAAA8D/NzMzMzMz0PzMzMzMzM/M/zczMzMzM9D/NzMzMzMz0P5qZmZmZmfE/zczMzMzM9D8AAAAAAAAEQGZmZmZmZv4/zczMzMzMAEDNzMzMzMz8P5qZmZmZmQFAzczMzMzMAEAzMzMzMzP7P83MzMzMzPw/zczMzMzM/D8AAAAAAAAEQAAAAAAAAABAZmZmZmZm/j/NzMzMzMwAQAAAAAAAAABAMzMzMzMzA0BmZmZmZmYCQM3MzMzMzPw/mpmZmZmZAUBmZmZmZmYCQAAAAAAAAPg/ZmZmZmZmAkAAAAAAAAAAQAAAAAAAAABAzczMzMzM/D/NzMzMzMwAQM3MzMzMzPw/zczMzMzM/D/NzMzMzMz8P83MzMzMzABAmpmZmZmZ+T9mZmZmZmb+PwAAAAAAAABAmpmZmZmZAUAAAAAAAAD4P2ZmZmZmZvY/ZmZmZmZmAkAzMzMzMzMDQM3MzMzMzPw/zczMzMzM/D/NzMzMzMwAQDMzMzMzMwNAZmZmZmZmAkBmZmZmZmb+P2ZmZmZmZgJAAAAAAAAABEBmZmZmZmYCQGZmZmZmZv4/AAAAAAAAAEBmZmZmZmYCQM3MzMzMzPw/\",\"dtype\":\"float64\",\"shape\":[150]},\"sepal_length\":{\"__ndarray__\":\"ZmZmZmZmFECamZmZmZkTQM3MzMzMzBJAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRVAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRFAmpmZmZmZE0CamZmZmZkVQDMzMzMzMxNAMzMzMzMzE0AzMzMzMzMRQDMzMzMzMxdAzczMzMzMFkCamZmZmZkVQGZmZmZmZhRAzczMzMzMFkBmZmZmZmYUQJqZmZmZmRVAZmZmZmZmFEBmZmZmZmYSQGZmZmZmZhRAMzMzMzMzE0AAAAAAAAAUQAAAAAAAABRAzczMzMzMFEDNzMzMzMwUQM3MzMzMzBJAMzMzMzMzE0CamZmZmZkVQM3MzMzMzBRAAAAAAAAAFkCamZmZmZkTQAAAAAAAABRAAAAAAAAAFkCamZmZmZkTQJqZmZmZmRFAZmZmZmZmFEAAAAAAAAAUQAAAAAAAABJAmpmZmZmZEUAAAAAAAAAUQGZmZmZmZhRAMzMzMzMzE0BmZmZmZmYUQGZmZmZmZhJAMzMzMzMzFUAAAAAAAAAUQAAAAAAAABxAmpmZmZmZGUCamZmZmZkbQAAAAAAAABZAAAAAAAAAGkDNzMzMzMwWQDMzMzMzMxlAmpmZmZmZE0BmZmZmZmYaQM3MzMzMzBRAAAAAAAAAFECamZmZmZkXQAAAAAAAABhAZmZmZmZmGEBmZmZmZmYWQM3MzMzMzBpAZmZmZmZmFkAzMzMzMzMXQM3MzMzMzBhAZmZmZmZmFkCamZmZmZkXQGZmZmZmZhhAMzMzMzMzGUBmZmZmZmYYQJqZmZmZmRlAZmZmZmZmGkAzMzMzMzMbQM3MzMzMzBpAAAAAAAAAGEDNzMzMzMwWQAAAAAAAABZAAAAAAAAAFkAzMzMzMzMXQAAAAAAAABhAmpmZmZmZFUAAAAAAAAAYQM3MzMzMzBpAMzMzMzMzGUBmZmZmZmYWQAAAAAAAABZAAAAAAAAAFkBmZmZmZmYYQDMzMzMzMxdAAAAAAAAAFEBmZmZmZmYWQM3MzMzMzBZAzczMzMzMFkDNzMzMzMwYQGZmZmZmZhRAzczMzMzMFkAzMzMzMzMZQDMzMzMzMxdAZmZmZmZmHEAzMzMzMzMZQAAAAAAAABpAZmZmZmZmHkCamZmZmZkTQDMzMzMzMx1AzczMzMzMGkDNzMzMzMwcQAAAAAAAABpAmpmZmZmZGUAzMzMzMzMbQM3MzMzMzBZAMzMzMzMzF0CamZmZmZkZQAAAAAAAABpAzczMzMzMHkDNzMzMzMweQAAAAAAAABhAmpmZmZmZG0BmZmZmZmYWQM3MzMzMzB5AMzMzMzMzGUDNzMzMzMwaQM3MzMzMzBxAzczMzMzMGEBmZmZmZmYYQJqZmZmZmRlAzczMzMzMHECamZmZmZkdQJqZmZmZmR9AmpmZmZmZGUAzMzMzMzMZQGZmZmZmZhhAzczMzMzMHkAzMzMzMzMZQJqZmZmZmRlAAAAAAAAAGECamZmZmZkbQM3MzMzMzBpAmpmZmZmZG0AzMzMzMzMXQDMzMzMzMxtAzczMzMzMGkDNzMzMzMwaQDMzMzMzMxlAAAAAAAAAGkDNzMzMzMwYQJqZmZmZmRdA\",\"dtype\":\"float64\",\"shape\":[150]},\"sepal_width\":{\"__ndarray__\":\"AAAAAAAADEAAAAAAAAAIQJqZmZmZmQlAzczMzMzMCEDNzMzMzMwMQDMzMzMzMw9AMzMzMzMzC0AzMzMzMzMLQDMzMzMzMwdAzczMzMzMCECamZmZmZkNQDMzMzMzMwtAAAAAAAAACEAAAAAAAAAIQAAAAAAAABBAmpmZmZmZEUAzMzMzMzMPQAAAAAAAAAxAZmZmZmZmDkBmZmZmZmYOQDMzMzMzMwtAmpmZmZmZDUDNzMzMzMwMQGZmZmZmZgpAMzMzMzMzC0AAAAAAAAAIQDMzMzMzMwtAAAAAAAAADEAzMzMzMzMLQJqZmZmZmQlAzczMzMzMCEAzMzMzMzMLQGZmZmZmZhBAzczMzMzMEEDNzMzMzMwIQJqZmZmZmQlAAAAAAAAADEDNzMzMzMwMQAAAAAAAAAhAMzMzMzMzC0AAAAAAAAAMQGZmZmZmZgJAmpmZmZmZCUAAAAAAAAAMQGZmZmZmZg5AAAAAAAAACEBmZmZmZmYOQJqZmZmZmQlAmpmZmZmZDUBmZmZmZmYKQJqZmZmZmQlAmpmZmZmZCUDNzMzMzMwIQGZmZmZmZgJAZmZmZmZmBkBmZmZmZmYGQGZmZmZmZgpAMzMzMzMzA0AzMzMzMzMHQJqZmZmZmQVAAAAAAAAAAEAAAAAAAAAIQJqZmZmZmQFAMzMzMzMzB0AzMzMzMzMHQM3MzMzMzAhAAAAAAAAACECamZmZmZkFQJqZmZmZmQFAAAAAAAAABECamZmZmZkJQGZmZmZmZgZAAAAAAAAABEBmZmZmZmYGQDMzMzMzMwdAAAAAAAAACEBmZmZmZmYGQAAAAAAAAAhAMzMzMzMzB0DNzMzMzMwEQDMzMzMzMwNAMzMzMzMzA0CamZmZmZkFQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAZmZmZmZmAkAAAAAAAAAIQAAAAAAAAARAzczMzMzMBEAAAAAAAAAIQM3MzMzMzARAZmZmZmZmAkCamZmZmZkFQAAAAAAAAAhAMzMzMzMzB0AzMzMzMzMHQAAAAAAAAARAZmZmZmZmBkBmZmZmZmYKQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMHQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAEQDMzMzMzMwdAAAAAAAAABEDNzMzMzMwMQJqZmZmZmQlAmpmZmZmZBUAAAAAAAAAIQAAAAAAAAARAZmZmZmZmBkCamZmZmZkJQAAAAAAAAAhAZmZmZmZmDkDNzMzMzMwEQJqZmZmZmQFAmpmZmZmZCUBmZmZmZmYGQGZmZmZmZgZAmpmZmZmZBUBmZmZmZmYKQJqZmZmZmQlAZmZmZmZmBkAAAAAAAAAIQGZmZmZmZgZAAAAAAAAACEBmZmZmZmYGQGZmZmZmZg5AZmZmZmZmBkBmZmZmZmYGQM3MzMzMzARAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAAAAAAAAACEDNzMzMzMwIQM3MzMzMzAhAzczMzMzMCECamZmZmZkFQJqZmZmZmQlAZmZmZmZmCkAAAAAAAAAIQAAAAAAAAARAAAAAAAAACEAzMzMzMzMLQAAAAAAAAAhA\",\"dtype\":\"float64\",\"shape\":[150]},\"species\":[\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\"]},\"selected\":{\"id\":\"1047\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1048\",\"type\":\"UnionRenderers\"}},\"id\":\"1034\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1043\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1017\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1045\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"1017\",\"type\":\"BasicTicker\"}},\"id\":\"1020\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null},\"id\":\"1005\",\"type\":\"DataRange1d\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1046\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1021\",\"type\":\"PanTool\"},{\"id\":\"1022\",\"type\":\"WheelZoomTool\"},{\"id\":\"1023\",\"type\":\"BoxZoomTool\"},{\"id\":\"1024\",\"type\":\"SaveTool\"},{\"id\":\"1025\",\"type\":\"ResetTool\"},{\"id\":\"1026\",\"type\":\"HelpTool\"}]},\"id\":\"1027\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null},\"id\":\"1003\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1047\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1048\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1022\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1037\",\"type\":\"Circle\"},{\"attributes\":{\"overlay\":{\"id\":\"1046\",\"type\":\"BoxAnnotation\"}},\"id\":\"1023\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"green\"},\"line_color\":{\"value\":\"green\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"1036\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1026\",\"type\":\"HelpTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1034\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1036\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1037\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"1039\",\"type\":\"CDSView\"}},\"id\":\"1038\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1007\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1009\",\"type\":\"LinearScale\"},{\"attributes\":{\"formatter\":{\"id\":\"1043\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1012\",\"type\":\"BasicTicker\"}},\"id\":\"1011\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"1034\",\"type\":\"ColumnDataSource\"}},\"id\":\"1039\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1012\",\"type\":\"BasicTicker\"},{\"attributes\":{\"text\":\"\"},\"id\":\"1040\",\"type\":\"Title\"},{\"attributes\":{\"ticker\":{\"id\":\"1012\",\"type\":\"BasicTicker\"}},\"id\":\"1015\",\"type\":\"Grid\"}],\"root_ids\":[\"1002\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"8161aba6-ec0b-4a56-85aa-e960f3b2a907\",\"roots\":{\"1002\":\"83586d8d-dd8e-49d5-97d7-aa26799fec00\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1002"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.models import ColumnDataSource\n",
    "from bokeh.sampledata.iris import flowers as df\n",
    "p = figure(plot_width=400, plot_height=400)\n",
    "p.circle('petal_length', 'petal_width', source=ColumnDataSource(df), color='green')\n",
    "# p.circle('petal_length', 'petal_width', source=df, color='green')\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 数据更新、筛选"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"78cf2953-01fd-43fd-9503-958935749c94\" data-root-id=\"5729\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"f8689cbb-713d-4bb8-bc95-e0a1dd242c50\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"5740\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"5744\",\"type\":\"Grid\"},{\"id\":\"5749\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"5745\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"5766\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"5730\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"5756\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"5732\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"5736\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"5734\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"5738\",\"type\":\"LinearScale\"}},\"id\":\"5729\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_values\"},\"y\":{\"field\":\"y_values\"}},\"id\":\"5764\",\"type\":\"Circle\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"5750\",\"type\":\"PanTool\"},{\"id\":\"5751\",\"type\":\"WheelZoomTool\"},{\"id\":\"5752\",\"type\":\"BoxZoomTool\"},{\"id\":\"5753\",\"type\":\"SaveTool\"},{\"id\":\"5754\",\"type\":\"ResetTool\"},{\"id\":\"5755\",\"type\":\"HelpTool\"}]},\"id\":\"5756\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"5750\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"5751\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"5970\",\"type\":\"BoxAnnotation\"}},\"id\":\"5752\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x_values\":[1,2,9,4,5],\"y_values\":[6,7,2,3,6]},\"selected\":{\"id\":\"5971\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"5972\",\"type\":\"UnionRenderers\"}},\"id\":\"5728\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"5753\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"5754\",\"type\":\"ResetTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_values\"},\"y\":{\"field\":\"y_values\"}},\"id\":\"5765\",\"type\":\"Circle\"},{\"attributes\":{\"text\":\"origin data\"},\"id\":\"5730\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"5755\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null},\"id\":\"5732\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"5734\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"5728\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"5764\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"5765\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"5767\",\"type\":\"CDSView\"}},\"id\":\"5766\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"5736\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"5728\",\"type\":\"ColumnDataSource\"}},\"id\":\"5767\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"5738\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5971\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"5967\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"5741\",\"type\":\"BasicTicker\"}},\"id\":\"5740\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"5970\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"5741\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"5967\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"5972\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"ticker\":{\"id\":\"5741\",\"type\":\"BasicTicker\"}},\"id\":\"5744\",\"type\":\"Grid\"},{\"attributes\":{\"formatter\":{\"id\":\"5969\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"5746\",\"type\":\"BasicTicker\"}},\"id\":\"5745\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"5746\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"5969\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"5746\",\"type\":\"BasicTicker\"}},\"id\":\"5749\",\"type\":\"Grid\"}],\"root_ids\":[\"5729\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"f8689cbb-713d-4bb8-bc95-e0a1dd242c50\",\"roots\":{\"5729\":\"78cf2953-01fd-43fd-9503-958935749c94\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "5729"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"e6fa7775-4cbd-42fc-acf7-7467bca7607a\" data-root-id=\"6021\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"1daf76a9-df29-4dfe-a144-f88492d2d2ca\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"6032\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"6036\",\"type\":\"Grid\"},{\"id\":\"6041\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"6037\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"6058\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"6022\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"6048\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"6024\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"6028\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"6026\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"6030\",\"type\":\"LinearScale\"}},\"id\":\"6021\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"6047\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null},\"id\":\"6024\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"5728\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"6056\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"6057\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"6059\",\"type\":\"CDSView\"}},\"id\":\"6058\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"text\":\"append data with stream\"},\"id\":\"6022\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null},\"id\":\"6026\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"6269\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"6028\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"5728\",\"type\":\"ColumnDataSource\"}},\"id\":\"6059\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"6030\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null,\"data\":{\"x_values\":[1,2,9,4,5,6,7,2,3,6],\"y_values\":[6,7,2,3,6,1,2,9,4,5]},\"selected\":{\"id\":\"5971\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"5972\",\"type\":\"UnionRenderers\"}},\"id\":\"5728\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"formatter\":{\"id\":\"6267\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"6033\",\"type\":\"BasicTicker\"}},\"id\":\"6032\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"6270\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"6033\",\"type\":\"BasicTicker\"},{\"attributes\":{\"ticker\":{\"id\":\"6033\",\"type\":\"BasicTicker\"}},\"id\":\"6036\",\"type\":\"Grid\"},{\"attributes\":{\"formatter\":{\"id\":\"6269\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"6038\",\"type\":\"BasicTicker\"}},\"id\":\"6037\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"6038\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"6038\",\"type\":\"BasicTicker\"}},\"id\":\"6041\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_values\"},\"y\":{\"field\":\"y_values\"}},\"id\":\"6057\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"5971\",\"type\":\"Selection\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_values\"},\"y\":{\"field\":\"y_values\"}},\"id\":\"6056\",\"type\":\"Circle\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"6042\",\"type\":\"PanTool\"},{\"id\":\"6043\",\"type\":\"WheelZoomTool\"},{\"id\":\"6044\",\"type\":\"BoxZoomTool\"},{\"id\":\"6045\",\"type\":\"SaveTool\"},{\"id\":\"6046\",\"type\":\"ResetTool\"},{\"id\":\"6047\",\"type\":\"HelpTool\"}]},\"id\":\"6048\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"6042\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"5972\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"6043\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"6270\",\"type\":\"BoxAnnotation\"}},\"id\":\"6044\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"6267\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"6045\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"6046\",\"type\":\"ResetTool\"}],\"root_ids\":[\"6021\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"1daf76a9-df29-4dfe-a144-f88492d2d2ca\",\"roots\":{\"6021\":\"e6fa7775-4cbd-42fc-acf7-7467bca7607a\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "6021"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"0f152a13-6f99-47db-affe-52ec2587dde0\" data-root-id=\"6321\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"b3fe1847-f9b2-49cf-991a-425ca1349935\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"6332\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"6336\",\"type\":\"Grid\"},{\"id\":\"6341\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"6337\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"6358\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"6322\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"6348\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"6324\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"6328\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"6326\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"6330\",\"type\":\"LinearScale\"}},\"id\":\"6321\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"6342\",\"type\":\"PanTool\"},{\"id\":\"6343\",\"type\":\"WheelZoomTool\"},{\"id\":\"6344\",\"type\":\"BoxZoomTool\"},{\"id\":\"6345\",\"type\":\"SaveTool\"},{\"id\":\"6346\",\"type\":\"ResetTool\"},{\"id\":\"6347\",\"type\":\"HelpTool\"}]},\"id\":\"6348\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"6575\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data_source\":{\"id\":\"5728\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"6356\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"6357\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"6359\",\"type\":\"CDSView\"}},\"id\":\"6358\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_values\"},\"y\":{\"field\":\"y_values\"}},\"id\":\"6356\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_values\"},\"y\":{\"field\":\"y_values\"}},\"id\":\"6357\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"6342\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"6347\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x_values\":[15,2,9,4,5,6,7,2,3,6],\"y_values\":[6,7,2,3,6,1,2,9,4,5]},\"selected\":{\"id\":\"5971\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"5972\",\"type\":\"UnionRenderers\"}},\"id\":\"5728\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"6346\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"6338\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"6345\",\"type\":\"SaveTool\"},{\"attributes\":{\"overlay\":{\"id\":\"6578\",\"type\":\"BoxAnnotation\"}},\"id\":\"6344\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"6343\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"formatter\":{\"id\":\"6577\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"6338\",\"type\":\"BasicTicker\"}},\"id\":\"6337\",\"type\":\"LinearAxis\"},{\"attributes\":{\"ticker\":{\"id\":\"6333\",\"type\":\"BasicTicker\"}},\"id\":\"6336\",\"type\":\"Grid\"},{\"attributes\":{\"text\":\"revise single value with patch\"},\"id\":\"6322\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"6577\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"6333\",\"type\":\"BasicTicker\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"6578\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"6330\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5971\",\"type\":\"Selection\"},{\"attributes\":{\"formatter\":{\"id\":\"6575\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"6333\",\"type\":\"BasicTicker\"}},\"id\":\"6332\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"5728\",\"type\":\"ColumnDataSource\"}},\"id\":\"6359\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"6328\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"5972\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"6338\",\"type\":\"BasicTicker\"}},\"id\":\"6341\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null},\"id\":\"6326\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"6324\",\"type\":\"DataRange1d\"}],\"root_ids\":[\"6321\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"b3fe1847-f9b2-49cf-991a-425ca1349935\",\"roots\":{\"6321\":\"0f152a13-6f99-47db-affe-52ec2587dde0\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "6321"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"add13dd8-f4d4-4a17-9ab6-c669e11bd726\" data-root-id=\"6629\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"b0db1f5f-3282-4777-894d-5a79cdca3421\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"6640\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"6644\",\"type\":\"Grid\"},{\"id\":\"6649\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"6645\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"6666\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"6630\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"6656\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"6632\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"6636\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"6634\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"6638\",\"type\":\"LinearScale\"}},\"id\":\"6629\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"6651\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_values\"},\"y\":{\"field\":\"y_values\"}},\"id\":\"6664\",\"type\":\"Circle\"},{\"attributes\":{\"formatter\":{\"id\":\"6893\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"6646\",\"type\":\"BasicTicker\"}},\"id\":\"6645\",\"type\":\"LinearAxis\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"6650\",\"type\":\"PanTool\"},{\"id\":\"6651\",\"type\":\"WheelZoomTool\"},{\"id\":\"6652\",\"type\":\"BoxZoomTool\"},{\"id\":\"6653\",\"type\":\"SaveTool\"},{\"id\":\"6654\",\"type\":\"ResetTool\"},{\"id\":\"6655\",\"type\":\"HelpTool\"}]},\"id\":\"6656\",\"type\":\"Toolbar\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"6646\",\"type\":\"BasicTicker\"}},\"id\":\"6649\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"6646\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"x_values\":[15,2,20,15,5,6,7,2,3,6],\"y_values\":[6,7,2,3,6,1,2,9,4,5]},\"selected\":{\"id\":\"5971\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"5972\",\"type\":\"UnionRenderers\"}},\"id\":\"5728\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"5728\",\"type\":\"ColumnDataSource\"}},\"id\":\"6667\",\"type\":\"CDSView\"},{\"attributes\":{\"ticker\":{\"id\":\"6641\",\"type\":\"BasicTicker\"}},\"id\":\"6644\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"5728\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"6664\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"6665\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"6667\",\"type\":\"CDSView\"}},\"id\":\"6666\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"formatter\":{\"id\":\"6891\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"6641\",\"type\":\"BasicTicker\"}},\"id\":\"6640\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"6641\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"6638\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"6636\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"6634\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_values\"},\"y\":{\"field\":\"y_values\"}},\"id\":\"6665\",\"type\":\"Circle\"},{\"attributes\":{\"text\":\"revise multiple values with patch\"},\"id\":\"6630\",\"type\":\"Title\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"6894\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"5971\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null},\"id\":\"6632\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"5972\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"6650\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"6894\",\"type\":\"BoxAnnotation\"}},\"id\":\"6652\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"6891\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"6653\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"6655\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"6654\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"6893\",\"type\":\"BasicTickFormatter\"}],\"root_ids\":[\"6629\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"b0db1f5f-3282-4777-894d-5a79cdca3421\",\"roots\":{\"6629\":\"add13dd8-f4d4-4a17-9ab6-c669e11bd726\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "6629"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.models import ColumnDataSource\n",
    "from bokeh.layouts import gridplot\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "data1 = {'x_values': [1, 2, 9, 4, 5],\n",
    "        'y_values': [6, 7, 2, 3, 6]}\n",
    "source = ColumnDataSource(data=data1)\n",
    "p1 = figure(plot_width=300, plot_height=300, title= 'origin data')\n",
    "p1.circle(x='x_values', y='y_values', source=source, size=20)\n",
    "show(p1)#原始数据\n",
    "new_data = {'x_values':  [6, 7, 2, 3, 6],\n",
    "        'y_values': [1, 2, 9, 4, 5]}\n",
    "# 2.在已有数据基础上添加新的数据 （append）\n",
    "source.stream(new_data)\n",
    "p2 = figure(plot_width=300, plot_height=300,title= 'append data with stream')\n",
    "p2.circle(x='x_values', y='y_values', source=source, size=20)\n",
    "show(p2) # 添加数据\n",
    "# 3.更新单个数据\n",
    "# {column:(index, new_value) }\n",
    "source.patch({'x_values':[(0,15)]})\n",
    "p3 = figure(plot_width=300, plot_height=300,title= 'revise single value with patch')\n",
    "p3.circle(x='x_values', y='y_values', source=source, size=20)\n",
    "show(p3)\n",
    "# 4.更新多个数据\n",
    "# {column:(slice, new_values) }\n",
    "s = slice(2,4)\n",
    "source.patch({'x_values':[(s,[20,15])]})\n",
    "p4 = figure(plot_width=300, plot_height=300,title= 'revise multiple values with patch')\n",
    "p4.circle(x='x_values', y='y_values', source=source, size=20)\n",
    "show(p4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"62067916-4633-4dec-97cf-9ff9730ad1c1\" data-root-id=\"7921\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"84068905-c995-4fe5-a5c0-abc89e5e65bd\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"7920\",\"type\":\"ToolbarBox\"},{\"id\":\"7918\",\"type\":\"GridBox\"}]},\"id\":\"7921\",\"type\":\"Column\"},{\"attributes\":{\"overlay\":{\"id\":\"7905\",\"type\":\"BoxAnnotation\"}},\"id\":\"7846\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"7904\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"7834\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"7838\",\"type\":\"Grid\"},{\"id\":\"7843\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"7839\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"7860\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"7824\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"7850\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"7826\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"7830\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"7828\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"7832\",\"type\":\"LinearScale\"}},\"id\":\"7823\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"formatter\":{\"id\":\"7902\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"7835\",\"type\":\"BasicTicker\"}},\"id\":\"7834\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"7873\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"7877\",\"type\":\"Grid\"},{\"id\":\"7882\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"7878\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"7899\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"7863\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"7889\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"7865\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"7869\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"7867\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"7871\",\"type\":\"LinearScale\"}},\"id\":\"7862\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"7849\",\"type\":\"HelpTool\"},{\"attributes\":{\"text\":\"origin state\"},\"id\":\"7824\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null},\"id\":\"7828\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_column\"},\"y\":{\"field\":\"y_column\"}},\"id\":\"7858\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"7887\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"7848\",\"type\":\"ResetTool\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"7840\",\"type\":\"BasicTicker\"}},\"id\":\"7843\",\"type\":\"Grid\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"7883\",\"type\":\"PanTool\"},{\"id\":\"7884\",\"type\":\"WheelZoomTool\"},{\"id\":\"7885\",\"type\":\"BoxZoomTool\"},{\"id\":\"7886\",\"type\":\"SaveTool\"},{\"id\":\"7887\",\"type\":\"ResetTool\"},{\"id\":\"7888\",\"type\":\"HelpTool\"}]},\"id\":\"7889\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"7906\",\"type\":\"Selection\"},{\"attributes\":{\"overlay\":{\"id\":\"7914\",\"type\":\"BoxAnnotation\"}},\"id\":\"7885\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"7830\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"7832\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"7883\",\"type\":\"PanTool\"},{\"attributes\":{\"source\":{\"id\":\"7820\",\"type\":\"ColumnDataSource\"}},\"id\":\"7861\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"7886\",\"type\":\"SaveTool\"},{\"attributes\":{\"ticker\":{\"id\":\"7835\",\"type\":\"BasicTicker\"}},\"id\":\"7838\",\"type\":\"Grid\"},{\"attributes\":{\"formatter\":{\"id\":\"7904\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"7840\",\"type\":\"BasicTicker\"}},\"id\":\"7839\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null},\"id\":\"7865\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"7907\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"7826\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"7874\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"7913\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"7845\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"7820\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"7897\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"7898\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"7822\",\"type\":\"CDSView\"}},\"id\":\"7899\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"7869\",\"type\":\"LinearScale\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"7905\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"7835\",\"type\":\"BasicTicker\"},{\"attributes\":{\"indices\":[0,2,4]},\"id\":\"7821\",\"type\":\"IndexFilter\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"7879\",\"type\":\"BasicTicker\"}},\"id\":\"7882\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"7888\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"7844\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"7911\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"filters\":[{\"id\":\"7821\",\"type\":\"IndexFilter\"}],\"source\":{\"id\":\"7820\",\"type\":\"ColumnDataSource\"}},\"id\":\"7822\",\"type\":\"CDSView\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"7844\",\"type\":\"PanTool\"},{\"id\":\"7845\",\"type\":\"WheelZoomTool\"},{\"id\":\"7846\",\"type\":\"BoxZoomTool\"},{\"id\":\"7847\",\"type\":\"SaveTool\"},{\"id\":\"7848\",\"type\":\"ResetTool\"},{\"id\":\"7849\",\"type\":\"HelpTool\"}]},\"id\":\"7850\",\"type\":\"Toolbar\"},{\"attributes\":{\"ticker\":{\"id\":\"7874\",\"type\":\"BasicTicker\"}},\"id\":\"7877\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"7902\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"7871\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"7820\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"7858\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"7859\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"7861\",\"type\":\"CDSView\"}},\"id\":\"7860\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"text\":\"IndexFilter\"},\"id\":\"7863\",\"type\":\"Title\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_column\"},\"y\":{\"field\":\"y_column\"}},\"id\":\"7898\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"7840\",\"type\":\"BasicTicker\"},{\"attributes\":{\"formatter\":{\"id\":\"7911\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"7874\",\"type\":\"BasicTicker\"}},\"id\":\"7873\",\"type\":\"LinearAxis\"},{\"attributes\":{\"tools\":[{\"id\":\"7844\",\"type\":\"PanTool\"},{\"id\":\"7845\",\"type\":\"WheelZoomTool\"},{\"id\":\"7846\",\"type\":\"BoxZoomTool\"},{\"id\":\"7847\",\"type\":\"SaveTool\"},{\"id\":\"7848\",\"type\":\"ResetTool\"},{\"id\":\"7849\",\"type\":\"HelpTool\"},{\"id\":\"7883\",\"type\":\"PanTool\"},{\"id\":\"7884\",\"type\":\"WheelZoomTool\"},{\"id\":\"7885\",\"type\":\"BoxZoomTool\"},{\"id\":\"7886\",\"type\":\"SaveTool\"},{\"id\":\"7887\",\"type\":\"ResetTool\"},{\"id\":\"7888\",\"type\":\"HelpTool\"}]},\"id\":\"7919\",\"type\":\"ProxyToolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_column\"},\"y\":{\"field\":\"y_column\"}},\"id\":\"7859\",\"type\":\"Circle\"},{\"attributes\":{\"formatter\":{\"id\":\"7913\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"7879\",\"type\":\"BasicTicker\"}},\"id\":\"7878\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null},\"id\":\"7867\",\"type\":\"DataRange1d\"},{\"attributes\":{\"children\":[[{\"id\":\"7823\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,0],[{\"id\":\"7862\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,1]]},\"id\":\"7918\",\"type\":\"GridBox\"},{\"attributes\":{\"toolbar\":{\"id\":\"7919\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"7920\",\"type\":\"ToolbarBox\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_column\"},\"y\":{\"field\":\"y_column\"}},\"id\":\"7897\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"7847\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"index\":[0,1,2,3,4,5],\"x_column\":[1,2,9,4,5,8],\"y_column\":[6,7,2,3,6,2]},\"selected\":{\"id\":\"7906\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"7907\",\"type\":\"UnionRenderers\"}},\"id\":\"7820\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"7884\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"7914\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"7879\",\"type\":\"BasicTicker\"}],\"root_ids\":[\"7921\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"84068905-c995-4fe5-a5c0-abc89e5e65bd\",\"roots\":{\"7921\":\"62067916-4633-4dec-97cf-9ff9730ad1c1\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "7921"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.models import ColumnDataSource, CDSView, IndexFilter\n",
    "from bokeh.layouts import gridplot\n",
    "data = {'x_column': [1, 2, 9, 4, 5, 8],\n",
    "        'y_column': [6, 7, 2, 3, 6, 2]}\n",
    "df = pd.DataFrame(data=data)\n",
    "source = ColumnDataSource(data=df)\n",
    "view = CDSView(source=source, filters=[IndexFilter([0,2,4])]) # 根据index选择数据\n",
    "p1 = figure(plot_width=300, plot_height=300, title='origin state')\n",
    "p1.circle(x='x_column', y='y_column', source=source, size=20)\n",
    "p2 = figure(plot_width=300, plot_height=300, title='IndexFilter')\n",
    "p2.circle(x='x_column', y='y_column', source=source, size=20, view=view)\n",
    "grid=gridplot([p1,p2],ncols=2, plot_width=300,plot_height=300)\n",
    "show(grid)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"63ad7658-caff-4c14-b1e4-acbdce6bb58e\" data-root-id=\"7476\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"ea1c71d8-1b89-4ce7-93d8-eb2794d14352\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"7475\",\"type\":\"ToolbarBox\"},{\"id\":\"7473\",\"type\":\"GridBox\"}]},\"id\":\"7476\",\"type\":\"Column\"},{\"attributes\":{\"ticker\":{\"id\":\"7429\",\"type\":\"BasicTicker\"}},\"id\":\"7432\",\"type\":\"Grid\"},{\"attributes\":{\"overlay\":{\"id\":\"7469\",\"type\":\"BoxAnnotation\"}},\"id\":\"7440\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"callback\":null},\"id\":\"7383\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"7422\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"7441\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null},\"id\":\"7381\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"7442\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"7387\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"7459\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"7420\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"7395\",\"type\":\"BasicTicker\"},{\"attributes\":{\"children\":[[{\"id\":\"7378\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,0],[{\"id\":\"7417\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,1]]},\"id\":\"7473\",\"type\":\"GridBox\"},{\"attributes\":{},\"id\":\"7032\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"7426\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"7438\",\"type\":\"PanTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_column\"},\"y\":{\"field\":\"y_column\"}},\"id\":\"7414\",\"type\":\"Circle\"},{\"attributes\":{\"below\":[{\"id\":\"7428\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"7432\",\"type\":\"Grid\"},{\"id\":\"7437\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"7433\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"7454\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"7418\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"7444\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"7420\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"7424\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"7422\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"7426\",\"type\":\"LinearScale\"}},\"id\":\"7417\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"7424\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"7438\",\"type\":\"PanTool\"},{\"id\":\"7439\",\"type\":\"WheelZoomTool\"},{\"id\":\"7440\",\"type\":\"BoxZoomTool\"},{\"id\":\"7441\",\"type\":\"SaveTool\"},{\"id\":\"7442\",\"type\":\"ResetTool\"},{\"id\":\"7443\",\"type\":\"HelpTool\"}]},\"id\":\"7444\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"7390\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"7400\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"7439\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"formatter\":{\"id\":\"7468\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"7434\",\"type\":\"BasicTicker\"}},\"id\":\"7433\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"7389\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"7393\",\"type\":\"Grid\"},{\"id\":\"7398\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"7394\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"7415\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"7379\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"7405\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"7381\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"7385\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"7383\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"7387\",\"type\":\"LinearScale\"}},\"id\":\"7378\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"7443\",\"type\":\"HelpTool\"},{\"attributes\":{\"formatter\":{\"id\":\"7466\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"7429\",\"type\":\"BasicTicker\"}},\"id\":\"7428\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"7460\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"filters\":[{\"id\":\"7376\",\"type\":\"BooleanFilter\"}],\"source\":{\"id\":\"6945\",\"type\":\"ColumnDataSource\"}},\"id\":\"7377\",\"type\":\"CDSView\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"7399\",\"type\":\"PanTool\"},{\"id\":\"7400\",\"type\":\"WheelZoomTool\"},{\"id\":\"7401\",\"type\":\"BoxZoomTool\"},{\"id\":\"7402\",\"type\":\"SaveTool\"},{\"id\":\"7403\",\"type\":\"ResetTool\"},{\"id\":\"7404\",\"type\":\"HelpTool\"}]},\"id\":\"7405\",\"type\":\"Toolbar\"},{\"attributes\":{\"booleans\":[true,true,false,false,true,false]},\"id\":\"7376\",\"type\":\"BooleanFilter\"},{\"attributes\":{\"text\":\"origin state\"},\"id\":\"7379\",\"type\":\"Title\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_column\"},\"y\":{\"field\":\"y_column\"}},\"id\":\"7452\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"7466\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"7402\",\"type\":\"SaveTool\"},{\"attributes\":{\"toolbar\":{\"id\":\"7474\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"7475\",\"type\":\"ToolbarBox\"},{\"attributes\":{\"text\":\"BooleanFilter\"},\"id\":\"7418\",\"type\":\"Title\"},{\"attributes\":{\"tools\":[{\"id\":\"7399\",\"type\":\"PanTool\"},{\"id\":\"7400\",\"type\":\"WheelZoomTool\"},{\"id\":\"7401\",\"type\":\"BoxZoomTool\"},{\"id\":\"7402\",\"type\":\"SaveTool\"},{\"id\":\"7403\",\"type\":\"ResetTool\"},{\"id\":\"7404\",\"type\":\"HelpTool\"},{\"id\":\"7438\",\"type\":\"PanTool\"},{\"id\":\"7439\",\"type\":\"WheelZoomTool\"},{\"id\":\"7440\",\"type\":\"BoxZoomTool\"},{\"id\":\"7441\",\"type\":\"SaveTool\"},{\"id\":\"7442\",\"type\":\"ResetTool\"},{\"id\":\"7443\",\"type\":\"HelpTool\"}]},\"id\":\"7474\",\"type\":\"ProxyToolbar\"},{\"attributes\":{},\"id\":\"7403\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"7399\",\"type\":\"PanTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"7469\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"ticker\":{\"id\":\"7390\",\"type\":\"BasicTicker\"}},\"id\":\"7393\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"7468\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data_source\":{\"id\":\"6945\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"7413\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"7414\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"7416\",\"type\":\"CDSView\"}},\"id\":\"7415\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"6945\",\"type\":\"ColumnDataSource\"}},\"id\":\"7416\",\"type\":\"CDSView\"},{\"attributes\":{\"overlay\":{\"id\":\"7460\",\"type\":\"BoxAnnotation\"}},\"id\":\"7401\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_column\"},\"y\":{\"field\":\"y_column\"}},\"id\":\"7453\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"7385\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"6945\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"7452\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"7453\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"7377\",\"type\":\"CDSView\"}},\"id\":\"7454\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"7434\",\"type\":\"BasicTicker\"}},\"id\":\"7437\",\"type\":\"Grid\"},{\"attributes\":{\"fill_color\":{\"value\":\"#1f77b4\"},\"line_color\":{\"value\":\"#1f77b4\"},\"size\":{\"units\":\"screen\",\"value\":20},\"x\":{\"field\":\"x_column\"},\"y\":{\"field\":\"y_column\"}},\"id\":\"7413\",\"type\":\"Circle\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"7395\",\"type\":\"BasicTicker\"}},\"id\":\"7398\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"data\":{\"index\":[0,1,2,3,4,5],\"x_column\":[1,2,9,4,5,8],\"y_column\":[6,7,2,3,6,2]},\"selected\":{\"id\":\"7031\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"7032\",\"type\":\"UnionRenderers\"}},\"id\":\"6945\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"7429\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"7031\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"7434\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"7457\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"formatter\":{\"id\":\"7457\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"7390\",\"type\":\"BasicTicker\"}},\"id\":\"7389\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"7404\",\"type\":\"HelpTool\"},{\"attributes\":{\"formatter\":{\"id\":\"7459\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"7395\",\"type\":\"BasicTicker\"}},\"id\":\"7394\",\"type\":\"LinearAxis\"}],\"root_ids\":[\"7476\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"ea1c71d8-1b89-4ce7-93d8-eb2794d14352\",\"roots\":{\"7476\":\"63ad7658-caff-4c14-b1e4-acbdce6bb58e\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "7476"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.models import BooleanFilter\n",
    "booleans = [True if y_val>4 else False for y_val in source.data['y_column']]\n",
    "view_booleans = CDSView(source=source, filters=[BooleanFilter(booleans)])\n",
    "p1 = figure(plot_width=300, plot_height=300,title='origin state')\n",
    "p1.circle(x='x_column', y='y_column', source=source, size=20)\n",
    "p2 = figure(plot_width=300, plot_height=300, title='BooleanFilter')\n",
    "p2.circle(x='x_column', y='y_column', source=source, size=20, view=view_booleans)\n",
    "grid=gridplot([p1,p2],ncols=2,plot_width=300,plot_height=300)\n",
    "show(grid)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"b0de2aef-bac8-4a1b-8b06-0e3114b96adb\" data-root-id=\"8366\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"dd90ed51-134f-4eb8-b8ca-d219ed313ea8\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"8365\",\"type\":\"ToolbarBox\"},{\"id\":\"8363\",\"type\":\"GridBox\"}]},\"id\":\"8366\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"8336\",\"type\":\"HelpTool\"},{\"attributes\":{\"formatter\":{\"id\":\"8358\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"8330\",\"type\":\"BasicTicker\"}},\"id\":\"8329\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"8324\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"8328\",\"type\":\"Grid\"},{\"id\":\"8333\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"8329\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"8344\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"8316\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"8337\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"8285\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"8320\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"8287\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"8322\",\"type\":\"LinearScale\"}},\"id\":\"8315\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"formatter\":{\"id\":\"8356\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"8325\",\"type\":\"BasicTicker\"}},\"id\":\"8324\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"8320\",\"type\":\"LinearScale\"},{\"attributes\":{\"text\":\"Full data set\"},\"id\":\"8283\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"8352\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"toolbar\":{\"id\":\"8364\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"8365\",\"type\":\"ToolbarBox\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"8350\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"column_name\":\"species\",\"group\":\"versicolor\"},\"id\":\"8280\",\"type\":\"GroupFilter\"},{\"attributes\":{},\"id\":\"8356\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"8342\",\"type\":\"Circle\"},{\"attributes\":{\"callback\":null},\"id\":\"8287\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"8279\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"8342\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"8343\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"8281\",\"type\":\"CDSView\"}},\"id\":\"8344\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"8359\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"8303\",\"type\":\"BoxSelectTool\"},{\"id\":\"8304\",\"type\":\"ResetTool\"},{\"id\":\"8305\",\"type\":\"HelpTool\"}]},\"id\":\"8306\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"8358\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"8285\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_color\":{\"value\":\"black\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"8311\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"8325\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"8305\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"8330\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"8289\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null,\"data\":{\"index\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],\"petal_length\":{\"__ndarray__\":\"ZmZmZmZm9j9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D9mZmZmZmb2PzMzMzMzM/s/ZmZmZmZm9j8AAAAAAAD4P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P5qZmZmZmfk/ZmZmZmZm9j+amZmZmZnxPzMzMzMzM/M/AAAAAAAA+D/NzMzMzMz0P2ZmZmZmZvY/MzMzMzMz+z8AAAAAAAD4PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwPzMzMzMzM/s/ZmZmZmZm/j+amZmZmZn5P5qZmZmZmfk/AAAAAAAA+D9mZmZmZmb2P5qZmZmZmfk/mpmZmZmZ+T8AAAAAAAD4PwAAAAAAAPg/ZmZmZmZm9j8AAAAAAAD4PzMzMzMzM/M/zczMzMzM9D9mZmZmZmb2P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P83MzMzMzPQ/zczMzMzM9D+amZmZmZn5P2ZmZmZmZv4/ZmZmZmZm9j+amZmZmZn5P2ZmZmZmZvY/AAAAAAAA+D9mZmZmZmb2P83MzMzMzBJAAAAAAAAAEkCamZmZmZkTQAAAAAAAABBAZmZmZmZmEkAAAAAAAAASQM3MzMzMzBJAZmZmZmZmCkBmZmZmZmYSQDMzMzMzMw9AAAAAAAAADEDNzMzMzMwQQAAAAAAAABBAzczMzMzMEkDNzMzMzMwMQJqZmZmZmRFAAAAAAAAAEkBmZmZmZmYQQAAAAAAAABJAMzMzMzMzD0AzMzMzMzMTQAAAAAAAABBAmpmZmZmZE0DNzMzMzMwSQDMzMzMzMxFAmpmZmZmZEUAzMzMzMzMTQAAAAAAAABRAAAAAAAAAEkAAAAAAAAAMQGZmZmZmZg5AmpmZmZmZDUAzMzMzMzMPQGZmZmZmZhRAAAAAAAAAEkAAAAAAAAASQM3MzMzMzBJAmpmZmZmZEUBmZmZmZmYQQAAAAAAAABBAmpmZmZmZEUBmZmZmZmYSQAAAAAAAABBAZmZmZmZmCkDNzMzMzMwQQM3MzMzMzBBAzczMzMzMEEAzMzMzMzMRQAAAAAAAAAhAZmZmZmZmEEAAAAAAAAAYQGZmZmZmZhRAmpmZmZmZF0BmZmZmZmYWQDMzMzMzMxdAZmZmZmZmGkAAAAAAAAASQDMzMzMzMxlAMzMzMzMzF0BmZmZmZmYYQGZmZmZmZhRAMzMzMzMzFUAAAAAAAAAWQAAAAAAAABRAZmZmZmZmFEAzMzMzMzMVQAAAAAAAABZAzczMzMzMGkCamZmZmZkbQAAAAAAAABRAzczMzMzMFkCamZmZmZkTQM3MzMzMzBpAmpmZmZmZE0DNzMzMzMwWQAAAAAAAABhAMzMzMzMzE0CamZmZmZkTQGZmZmZmZhZAMzMzMzMzF0BmZmZmZmYYQJqZmZmZmRlAZmZmZmZmFkBmZmZmZmYUQGZmZmZmZhZAZmZmZmZmGEBmZmZmZmYWQAAAAAAAABZAMzMzMzMzE0CamZmZmZkVQGZmZmZmZhZAZmZmZmZmFEBmZmZmZmYUQJqZmZmZmRdAzczMzMzMFkDNzMzMzMwUQAAAAAAAABRAzczMzMzMFECamZmZmZkVQGZmZmZmZhRA\",\"dtype\":\"float64\",\"shape\":[150]},\"petal_width\":{\"__ndarray__\":\"mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZnJP5qZmZmZmck/mpmZmZmZuT+amZmZmZm5P5qZmZmZmck/mpmZmZmZ2T+amZmZmZnZPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTP5qZmZmZmck/mpmZmZmZ2T+amZmZmZnJPwAAAAAAAOA/mpmZmZmZyT+amZmZmZnJP5qZmZmZmdk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnZP5qZmZmZmbk/mpmZmZmZyT+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZm5P5qZmZmZmck/mpmZmZmZyT8zMzMzMzPTPzMzMzMzM9M/mpmZmZmZyT8zMzMzMzPjP5qZmZmZmdk/MzMzMzMz0z+amZmZmZnJP5qZmZmZmck/mpmZmZmZyT+amZmZmZnJP2ZmZmZmZvY/AAAAAAAA+D8AAAAAAAD4P83MzMzMzPQ/AAAAAAAA+D/NzMzMzMz0P5qZmZmZmfk/AAAAAAAA8D/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA8D8AAAAAAAD4PwAAAAAAAPA/ZmZmZmZm9j/NzMzMzMz0P2ZmZmZmZvY/AAAAAAAA+D8AAAAAAADwPwAAAAAAAPg/mpmZmZmZ8T/NzMzMzMz8P83MzMzMzPQ/AAAAAAAA+D8zMzMzMzPzP83MzMzMzPQ/ZmZmZmZm9j9mZmZmZmb2PzMzMzMzM/s/AAAAAAAA+D8AAAAAAADwP5qZmZmZmfE/AAAAAAAA8D8zMzMzMzPzP5qZmZmZmfk/AAAAAAAA+D+amZmZmZn5PwAAAAAAAPg/zczMzMzM9D/NzMzMzMz0P83MzMzMzPQ/MzMzMzMz8z9mZmZmZmb2PzMzMzMzM/M/AAAAAAAA8D/NzMzMzMz0PzMzMzMzM/M/zczMzMzM9D/NzMzMzMz0P5qZmZmZmfE/zczMzMzM9D8AAAAAAAAEQGZmZmZmZv4/zczMzMzMAEDNzMzMzMz8P5qZmZmZmQFAzczMzMzMAEAzMzMzMzP7P83MzMzMzPw/zczMzMzM/D8AAAAAAAAEQAAAAAAAAABAZmZmZmZm/j/NzMzMzMwAQAAAAAAAAABAMzMzMzMzA0BmZmZmZmYCQM3MzMzMzPw/mpmZmZmZAUBmZmZmZmYCQAAAAAAAAPg/ZmZmZmZmAkAAAAAAAAAAQAAAAAAAAABAzczMzMzM/D/NzMzMzMwAQM3MzMzMzPw/zczMzMzM/D/NzMzMzMz8P83MzMzMzABAmpmZmZmZ+T9mZmZmZmb+PwAAAAAAAABAmpmZmZmZAUAAAAAAAAD4P2ZmZmZmZvY/ZmZmZmZmAkAzMzMzMzMDQM3MzMzMzPw/zczMzMzM/D/NzMzMzMwAQDMzMzMzMwNAZmZmZmZmAkBmZmZmZmb+P2ZmZmZmZgJAAAAAAAAABEBmZmZmZmYCQGZmZmZmZv4/AAAAAAAAAEBmZmZmZmYCQM3MzMzMzPw/\",\"dtype\":\"float64\",\"shape\":[150]},\"sepal_length\":{\"__ndarray__\":\"ZmZmZmZmFECamZmZmZkTQM3MzMzMzBJAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRVAZmZmZmZmEkAAAAAAAAAUQJqZmZmZmRFAmpmZmZmZE0CamZmZmZkVQDMzMzMzMxNAMzMzMzMzE0AzMzMzMzMRQDMzMzMzMxdAzczMzMzMFkCamZmZmZkVQGZmZmZmZhRAzczMzMzMFkBmZmZmZmYUQJqZmZmZmRVAZmZmZmZmFEBmZmZmZmYSQGZmZmZmZhRAMzMzMzMzE0AAAAAAAAAUQAAAAAAAABRAzczMzMzMFEDNzMzMzMwUQM3MzMzMzBJAMzMzMzMzE0CamZmZmZkVQM3MzMzMzBRAAAAAAAAAFkCamZmZmZkTQAAAAAAAABRAAAAAAAAAFkCamZmZmZkTQJqZmZmZmRFAZmZmZmZmFEAAAAAAAAAUQAAAAAAAABJAmpmZmZmZEUAAAAAAAAAUQGZmZmZmZhRAMzMzMzMzE0BmZmZmZmYUQGZmZmZmZhJAMzMzMzMzFUAAAAAAAAAUQAAAAAAAABxAmpmZmZmZGUCamZmZmZkbQAAAAAAAABZAAAAAAAAAGkDNzMzMzMwWQDMzMzMzMxlAmpmZmZmZE0BmZmZmZmYaQM3MzMzMzBRAAAAAAAAAFECamZmZmZkXQAAAAAAAABhAZmZmZmZmGEBmZmZmZmYWQM3MzMzMzBpAZmZmZmZmFkAzMzMzMzMXQM3MzMzMzBhAZmZmZmZmFkCamZmZmZkXQGZmZmZmZhhAMzMzMzMzGUBmZmZmZmYYQJqZmZmZmRlAZmZmZmZmGkAzMzMzMzMbQM3MzMzMzBpAAAAAAAAAGEDNzMzMzMwWQAAAAAAAABZAAAAAAAAAFkAzMzMzMzMXQAAAAAAAABhAmpmZmZmZFUAAAAAAAAAYQM3MzMzMzBpAMzMzMzMzGUBmZmZmZmYWQAAAAAAAABZAAAAAAAAAFkBmZmZmZmYYQDMzMzMzMxdAAAAAAAAAFEBmZmZmZmYWQM3MzMzMzBZAzczMzMzMFkDNzMzMzMwYQGZmZmZmZhRAzczMzMzMFkAzMzMzMzMZQDMzMzMzMxdAZmZmZmZmHEAzMzMzMzMZQAAAAAAAABpAZmZmZmZmHkCamZmZmZkTQDMzMzMzMx1AzczMzMzMGkDNzMzMzMwcQAAAAAAAABpAmpmZmZmZGUAzMzMzMzMbQM3MzMzMzBZAMzMzMzMzF0CamZmZmZkZQAAAAAAAABpAzczMzMzMHkDNzMzMzMweQAAAAAAAABhAmpmZmZmZG0BmZmZmZmYWQM3MzMzMzB5AMzMzMzMzGUDNzMzMzMwaQM3MzMzMzBxAzczMzMzMGEBmZmZmZmYYQJqZmZmZmRlAzczMzMzMHECamZmZmZkdQJqZmZmZmR9AmpmZmZmZGUAzMzMzMzMZQGZmZmZmZhhAzczMzMzMHkAzMzMzMzMZQJqZmZmZmRlAAAAAAAAAGECamZmZmZkbQM3MzMzMzBpAmpmZmZmZG0AzMzMzMzMXQDMzMzMzMxtAzczMzMzMGkDNzMzMzMwaQDMzMzMzMxlAAAAAAAAAGkDNzMzMzMwYQJqZmZmZmRdA\",\"dtype\":\"float64\",\"shape\":[150]},\"sepal_width\":{\"__ndarray__\":\"AAAAAAAADEAAAAAAAAAIQJqZmZmZmQlAzczMzMzMCEDNzMzMzMwMQDMzMzMzMw9AMzMzMzMzC0AzMzMzMzMLQDMzMzMzMwdAzczMzMzMCECamZmZmZkNQDMzMzMzMwtAAAAAAAAACEAAAAAAAAAIQAAAAAAAABBAmpmZmZmZEUAzMzMzMzMPQAAAAAAAAAxAZmZmZmZmDkBmZmZmZmYOQDMzMzMzMwtAmpmZmZmZDUDNzMzMzMwMQGZmZmZmZgpAMzMzMzMzC0AAAAAAAAAIQDMzMzMzMwtAAAAAAAAADEAzMzMzMzMLQJqZmZmZmQlAzczMzMzMCEAzMzMzMzMLQGZmZmZmZhBAzczMzMzMEEDNzMzMzMwIQJqZmZmZmQlAAAAAAAAADEDNzMzMzMwMQAAAAAAAAAhAMzMzMzMzC0AAAAAAAAAMQGZmZmZmZgJAmpmZmZmZCUAAAAAAAAAMQGZmZmZmZg5AAAAAAAAACEBmZmZmZmYOQJqZmZmZmQlAmpmZmZmZDUBmZmZmZmYKQJqZmZmZmQlAmpmZmZmZCUDNzMzMzMwIQGZmZmZmZgJAZmZmZmZmBkBmZmZmZmYGQGZmZmZmZgpAMzMzMzMzA0AzMzMzMzMHQJqZmZmZmQVAAAAAAAAAAEAAAAAAAAAIQJqZmZmZmQFAMzMzMzMzB0AzMzMzMzMHQM3MzMzMzAhAAAAAAAAACECamZmZmZkFQJqZmZmZmQFAAAAAAAAABECamZmZmZkJQGZmZmZmZgZAAAAAAAAABEBmZmZmZmYGQDMzMzMzMwdAAAAAAAAACEBmZmZmZmYGQAAAAAAAAAhAMzMzMzMzB0DNzMzMzMwEQDMzMzMzMwNAMzMzMzMzA0CamZmZmZkFQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAZmZmZmZmAkAAAAAAAAAIQAAAAAAAAARAzczMzMzMBEAAAAAAAAAIQM3MzMzMzARAZmZmZmZmAkCamZmZmZkFQAAAAAAAAAhAMzMzMzMzB0AzMzMzMzMHQAAAAAAAAARAZmZmZmZmBkBmZmZmZmYKQJqZmZmZmQVAAAAAAAAACEAzMzMzMzMHQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAEQDMzMzMzMwdAAAAAAAAABEDNzMzMzMwMQJqZmZmZmQlAmpmZmZmZBUAAAAAAAAAIQAAAAAAAAARAZmZmZmZmBkCamZmZmZkJQAAAAAAAAAhAZmZmZmZmDkDNzMzMzMwEQJqZmZmZmQFAmpmZmZmZCUBmZmZmZmYGQGZmZmZmZgZAmpmZmZmZBUBmZmZmZmYKQJqZmZmZmQlAZmZmZmZmBkAAAAAAAAAIQGZmZmZmZgZAAAAAAAAACEBmZmZmZmYGQGZmZmZmZg5AZmZmZmZmBkBmZmZmZmYGQM3MzMzMzARAAAAAAAAACEAzMzMzMzMLQM3MzMzMzAhAAAAAAAAACEDNzMzMzMwIQM3MzMzMzAhAzczMzMzMCECamZmZmZkFQJqZmZmZmQlAZmZmZmZmCkAAAAAAAAAIQAAAAAAAAARAAAAAAAAACEAzMzMzMzMLQAAAAAAAAAhA\",\"dtype\":\"float64\",\"shape\":[150]},\"species\":[\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"setosa\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"versicolor\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\",\"virginica\"]},\"selected\":{\"id\":\"8351\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"8352\",\"type\":\"UnionRenderers\"}},\"id\":\"8279\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"text\":\"Setosa only\"},\"id\":\"8316\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"8359\",\"type\":\"BoxAnnotation\"}},\"id\":\"8334\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"formatter\":{\"id\":\"8347\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"8294\",\"type\":\"BasicTicker\"}},\"id\":\"8293\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"8299\",\"type\":\"BasicTicker\"},{\"attributes\":{\"ticker\":{\"id\":\"8325\",\"type\":\"BasicTicker\"}},\"id\":\"8328\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"8291\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"8335\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"8349\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"8330\",\"type\":\"BasicTicker\"}},\"id\":\"8333\",\"type\":\"Grid\"},{\"attributes\":{\"children\":[[{\"id\":\"8282\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,0],[{\"id\":\"8315\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,1]]},\"id\":\"8363\",\"type\":\"GridBox\"},{\"attributes\":{\"dimension\":1,\"ticker\":{\"id\":\"8299\",\"type\":\"BasicTicker\"}},\"id\":\"8302\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"8322\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"8294\",\"type\":\"BasicTicker\"},{\"attributes\":{\"data_source\":{\"id\":\"8279\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"8311\",\"type\":\"Circle\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"8312\",\"type\":\"Circle\"},\"selection_glyph\":null,\"view\":{\"id\":\"8314\",\"type\":\"CDSView\"}},\"id\":\"8313\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"8343\",\"type\":\"Circle\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"8334\",\"type\":\"BoxSelectTool\"},{\"id\":\"8335\",\"type\":\"ResetTool\"},{\"id\":\"8336\",\"type\":\"HelpTool\"}]},\"id\":\"8337\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"petal_length\"},\"y\":{\"field\":\"petal_width\"}},\"id\":\"8312\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"8304\",\"type\":\"ResetTool\"},{\"attributes\":{\"callback\":null,\"overlay\":{\"id\":\"8350\",\"type\":\"BoxAnnotation\"}},\"id\":\"8303\",\"type\":\"BoxSelectTool\"},{\"attributes\":{\"source\":{\"id\":\"8279\",\"type\":\"ColumnDataSource\"}},\"id\":\"8314\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"8347\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"8293\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"8297\",\"type\":\"Grid\"},{\"id\":\"8302\",\"type\":\"Grid\"}],\"left\":[{\"id\":\"8298\",\"type\":\"LinearAxis\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"8313\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"8283\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"8306\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"8285\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"8289\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"8287\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"8291\",\"type\":\"LinearScale\"}},\"id\":\"8282\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"filters\":[{\"id\":\"8280\",\"type\":\"GroupFilter\"}],\"source\":{\"id\":\"8279\",\"type\":\"ColumnDataSource\"}},\"id\":\"8281\",\"type\":\"CDSView\"},{\"attributes\":{\"formatter\":{\"id\":\"8349\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"8299\",\"type\":\"BasicTicker\"}},\"id\":\"8298\",\"type\":\"LinearAxis\"},{\"attributes\":{\"tools\":[{\"id\":\"8303\",\"type\":\"BoxSelectTool\"},{\"id\":\"8304\",\"type\":\"ResetTool\"},{\"id\":\"8305\",\"type\":\"HelpTool\"},{\"id\":\"8334\",\"type\":\"BoxSelectTool\"},{\"id\":\"8335\",\"type\":\"ResetTool\"},{\"id\":\"8336\",\"type\":\"HelpTool\"}]},\"id\":\"8364\",\"type\":\"ProxyToolbar\"},{\"attributes\":{},\"id\":\"8351\",\"type\":\"Selection\"},{\"attributes\":{\"ticker\":{\"id\":\"8294\",\"type\":\"BasicTicker\"}},\"id\":\"8297\",\"type\":\"Grid\"}],\"root_ids\":[\"8366\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"dd90ed51-134f-4eb8-b8ca-d219ed313ea8\",\"roots\":{\"8366\":\"b0de2aef-bac8-4a1b-8b06-0e3114b96adb\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "8366"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.models import ColumnDataSource, CDSView, GroupFilter\n",
    "from bokeh.sampledata.iris import flowers\n",
    "source = ColumnDataSource(flowers)\n",
    "view1 = CDSView(source=source, filters=[GroupFilter(column_name='species', group='versicolor')])\n",
    "plot_size_and_tools = {'plot_height': 300, 'plot_width': 300,\n",
    "                    'tools':['box_select', 'reset', 'help']}\n",
    "p1 = figure(title=\"Full data set\", **plot_size_and_tools)\n",
    "p1.circle(x='petal_length', y='petal_width', source=source, color='black')\n",
    "p2 = figure(title=\"Setosa only\", x_range=p1.x_range, y_range=p1.y_range, **plot_size_and_tools)\n",
    "p2.circle(x='petal_length', y='petal_width', source=source, view=view1, color='red')\n",
    "show(gridplot([[p1, p2]]))  "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 数据格式转换"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"d0e5e487-9c9b-4302-a645-a662edea4973\" data-root-id=\"1002\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"9da692bf-bd45-4c0b-ad3e-c0e2acf84348\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1013\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"1017\",\"type\":\"Grid\"},{\"id\":\"1022\",\"type\":\"Grid\"},{\"id\":\"1041\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"1018\",\"type\":\"LinearAxis\"}],\"plot_height\":350,\"renderers\":[{\"id\":\"1034\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1003\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1025\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1005\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1009\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1007\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1011\",\"type\":\"LinearScale\"}},\"id\":\"1002\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"data_source\":{\"id\":\"1030\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1032\",\"type\":\"Wedge\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1033\",\"type\":\"Wedge\"},\"selection_glyph\":null,\"view\":{\"id\":\"1035\",\"type\":\"CDSView\"}},\"id\":\"1034\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1019\",\"type\":\"BasicTicker\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"ticker\":{\"id\":\"1019\",\"type\":\"BasicTicker\"}},\"id\":\"1022\",\"type\":\"Grid\"},{\"attributes\":{\"end_angle\":{\"expr\":{\"id\":\"1029\",\"type\":\"CumSum\"},\"units\":\"rad\"},\"fill_color\":{\"field\":\"color\"},\"line_color\":{\"value\":\"white\"},\"radius\":{\"units\":\"data\",\"value\":0.4},\"start_angle\":{\"expr\":{\"id\":\"1028\",\"type\":\"CumSum\"},\"units\":\"rad\"},\"x\":{\"value\":0},\"y\":{\"value\":1}},\"id\":\"1032\",\"type\":\"Wedge\"},{\"attributes\":{\"field\":\"angle\"},\"id\":\"1029\",\"type\":\"CumSum\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1023\",\"type\":\"HoverTool\"},{\"id\":\"1024\",\"type\":\"SaveTool\"}]},\"id\":\"1025\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null},\"id\":\"1005\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"\\u56fd\\u5bb6@country: \\u6570\\u503c@value\"},\"id\":\"1023\",\"type\":\"HoverTool\"},{\"attributes\":{\"label\":{\"field\":\"country\"},\"renderers\":[{\"id\":\"1034\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1042\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"angle\":{\"__ndarray__\":\"82pfD8981T8vyAaZT6XTPw6tolq6VuM/7ZE+HCUI0z9BU2lyTQPbP77m2Hj4yNk/OnpIf6OO2D9hbs2w4lHrP2slriLQzdE/5NpdqjeM7D+KUbKhwxj4Pw==\",\"dtype\":\"float64\",\"shape\":[11]},\"color\":[\"#3182bd\",\"#6baed6\",\"#9ecae1\",\"#c6dbef\",\"#e6550d\",\"#fd8d3c\",\"#fdae6b\",\"#fdd0a2\",\"#31a354\",\"#74c476\",\"#a1d99b\"],\"country\":[\"Australia\",\"Brazil\",\"China\",\"France\",\"Germany\",\"India\",\"Italy\",\"Japan\",\"Spain\",\"United Kingdom\",\"United States\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10],\"value\":[35,32,63,31,44,42,40,89,29,93,157]},\"selected\":{\"id\":\"1049\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1048\",\"type\":\"UnionRenderers\"}},\"id\":\"1030\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"end_angle\":{\"expr\":{\"id\":\"1029\",\"type\":\"CumSum\"},\"units\":\"rad\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"radius\":{\"units\":\"data\",\"value\":0.4},\"start_angle\":{\"expr\":{\"id\":\"1028\",\"type\":\"CumSum\"},\"units\":\"rad\"},\"x\":{\"value\":0},\"y\":{\"value\":1}},\"id\":\"1033\",\"type\":\"Wedge\"},{\"attributes\":{},\"id\":\"1048\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"field\":\"angle\",\"include_zero\":true},\"id\":\"1028\",\"type\":\"CumSum\"},{\"attributes\":{\"text\":\"Pie Chart\"},\"id\":\"1003\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null},\"id\":\"1007\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1009\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1011\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1030\",\"type\":\"ColumnDataSource\"}},\"id\":\"1035\",\"type\":\"CDSView\"},{\"attributes\":{\"axis_label\":null,\"formatter\":{\"id\":\"1039\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1014\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"1013\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1037\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1014\",\"type\":\"BasicTicker\"},{\"attributes\":{\"items\":[{\"id\":\"1042\",\"type\":\"LegendItem\"}]},\"id\":\"1041\",\"type\":\"Legend\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"ticker\":{\"id\":\"1014\",\"type\":\"BasicTicker\"}},\"id\":\"1017\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1039\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis_label\":null,\"formatter\":{\"id\":\"1037\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1019\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"1018\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1049\",\"type\":\"Selection\"}],\"root_ids\":[\"1002\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"9da692bf-bd45-4c0b-ad3e-c0e2acf84348\",\"roots\":{\"1002\":\"d0e5e487-9c9b-4302-a645-a662edea4973\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1002"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from math import pi\n",
    "import pandas as pd\n",
    "from bokeh.palettes import Category20c\n",
    "from bokeh.transform import cumsum\n",
    "# 数据\n",
    "x = { 'United States': 157, 'United Kingdom': 93, 'Japan': 89, 'China': 63,\n",
    "      'Germany': 44, 'India': 42, 'Italy': 40, 'Australia': 35, 'Brazil': 32,\n",
    "      'France': 31, 'Spain': 29 }\n",
    "data = pd.Series(x).reset_index(name='value').rename(columns={'index':'country'}) # 将上述字典转换为DataFrame格式\n",
    "data['color'] = Category20c[len(x)]\n",
    "# angle = value / total * 2pi，计算每组角度\n",
    "data['angle'] = data['value']/data['value'].sum() * 2*pi\n",
    "p = figure(plot_height=350, title=\"Pie Chart\", \n",
    "#            toolbar_location=None,\n",
    "           tools=\"hover,save\", tooltips=\"国家@country: 数值@value\")  # 已支持中文,鼠标悬停饼图显示数据\n",
    "p.wedge(x=0, y=1, radius=0.4, # 圆心位置及半径\n",
    "        # 每组起始角度\n",
    "        start_angle=cumsum('angle', include_zero=True), end_angle=cumsum('angle'),\n",
    "        line_color=\"white\", fill_color='color', legend='country', source=data)\n",
    "# 与直角坐标系相关参数隐藏，自行注释掉查看效果\n",
    "p.axis.axis_label=None\n",
    "p.axis.visible=False\n",
    "p.grid.grid_line_color = None\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "?cumsum"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"2b419db1-2eda-4600-a52d-19f62514b4e5\" data-root-id=\"4869\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"6d9bbed7-b518-49c7-9a51-d6cc5bd951be\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"4880\",\"type\":\"LinearAxis\"}],\"center\":[{\"id\":\"4884\",\"type\":\"Grid\"},{\"id\":\"4889\",\"type\":\"Grid\"},{\"id\":\"4908\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"4885\",\"type\":\"LinearAxis\"}],\"plot_height\":350,\"renderers\":[{\"id\":\"4901\",\"type\":\"GlyphRenderer\"},{\"id\":\"4916\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"4870\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"4892\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"4872\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"4876\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"4874\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"4878\",\"type\":\"LinearScale\"}},\"id\":\"4869\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"label\":{\"field\":\"country\"},\"renderers\":[{\"id\":\"4901\",\"type\":\"GlyphRenderer\"}]},\"id\":\"4909\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"5100\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"label\":{\"field\":\"country\"},\"renderers\":[{\"id\":\"4916\",\"type\":\"GlyphRenderer\"}]},\"id\":\"4925\",\"type\":\"LegendItem\"},{\"attributes\":{\"field\":\"angle\"},\"id\":\"4911\",\"type\":\"CumSum\"},{\"attributes\":{\"callback\":null,\"data\":{\"angle\":{\"__ndarray__\":\"dwWG4TqE1D85rcPyCcLSP4We+MoBd+I/0I8to/kr0j8vDs2tzcrZP1vToA6tntg/iJh0b4xy1z/kHJjV1RXqP/xUAQTZ/9A/0I8to/kr0j+3V8R09kHrP3kCxDMAAvc/\",\"dtype\":\"float64\",\"shape\":[12]},\"color\":[\"#3182bd\",\"#6baed6\",\"#9ecae1\",\"#c6dbef\",\"#e6550d\",\"#fd8d3c\",\"#fdae6b\",\"#fdd0a2\",\"#31a354\",\"#74c476\",\"#a1d99b\",\"#c7e9c0\"],\"country\":[\"Australia\",\"Brazil\",\"China\",\"France\",\"Germany\",\"India\",\"Italy\",\"Japan\",\"Spain\",\"Taiwan\",\"United Kingdom\",\"United States\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11],\"value\":[35,32,63,31,44,42,40,89,29,31,93,157]},\"selected\":{\"id\":\"5099\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"5100\",\"type\":\"UnionRenderers\"}},\"id\":\"4912\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"4891\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"5099\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null},\"id\":\"4872\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null,\"tooltips\":\"\\u56fd\\u5bb6@country: \\u6570\\u503c@value\"},\"id\":\"4890\",\"type\":\"HoverTool\"},{\"attributes\":{\"text\":\"Donut Chart\"},\"id\":\"4870\",\"type\":\"Title\"},{\"attributes\":{\"grid_line_color\":{\"value\":null},\"ticker\":{\"id\":\"4881\",\"type\":\"BasicTicker\"}},\"id\":\"4884\",\"type\":\"Grid\"},{\"attributes\":{\"end_angle\":{\"expr\":{\"id\":\"4896\",\"type\":\"CumSum\"},\"units\":\"rad\"},\"fill_color\":{\"field\":\"color\"},\"inner_radius\":{\"units\":\"data\",\"value\":0.3},\"line_color\":{\"value\":\"white\"},\"outer_radius\":{\"units\":\"data\",\"value\":0.4},\"start_angle\":{\"expr\":{\"id\":\"4895\",\"type\":\"CumSum\"},\"units\":\"rad\"},\"x\":{\"value\":0},\"y\":{\"value\":1}},\"id\":\"4899\",\"type\":\"AnnularWedge\"},{\"attributes\":{\"data_source\":{\"id\":\"4912\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"4914\",\"type\":\"AnnularWedge\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"4915\",\"type\":\"AnnularWedge\"},\"selection_glyph\":null,\"view\":{\"id\":\"4917\",\"type\":\"CDSView\"}},\"id\":\"4916\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"end_angle\":{\"expr\":{\"id\":\"4911\",\"type\":\"CumSum\"},\"units\":\"rad\"},\"fill_color\":{\"value\":\"white\"},\"inner_radius\":{\"units\":\"data\",\"value\":0},\"line_color\":{\"value\":\"white\"},\"outer_radius\":{\"units\":\"data\",\"value\":0.3},\"start_angle\":{\"expr\":{\"id\":\"4910\",\"type\":\"CumSum\"},\"units\":\"rad\"},\"x\":{\"value\":0},\"y\":{\"value\":1}},\"id\":\"4914\",\"type\":\"AnnularWedge\"},{\"attributes\":{\"dimension\":1,\"grid_line_color\":{\"value\":null},\"ticker\":{\"id\":\"4886\",\"type\":\"BasicTicker\"}},\"id\":\"4889\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"4886\",\"type\":\"BasicTicker\"},{\"attributes\":{\"items\":[{\"id\":\"4909\",\"type\":\"LegendItem\"},{\"id\":\"4925\",\"type\":\"LegendItem\"}]},\"id\":\"4908\",\"type\":\"Legend\"},{\"attributes\":{\"end_angle\":{\"expr\":{\"id\":\"4911\",\"type\":\"CumSum\"},\"units\":\"rad\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"inner_radius\":{\"units\":\"data\",\"value\":0},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"outer_radius\":{\"units\":\"data\",\"value\":0.3},\"start_angle\":{\"expr\":{\"id\":\"4910\",\"type\":\"CumSum\"},\"units\":\"rad\"},\"x\":{\"value\":0},\"y\":{\"value\":1}},\"id\":\"4915\",\"type\":\"AnnularWedge\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"4890\",\"type\":\"HoverTool\"},{\"id\":\"4891\",\"type\":\"SaveTool\"}]},\"id\":\"4892\",\"type\":\"Toolbar\"},{\"attributes\":{\"source\":{\"id\":\"4912\",\"type\":\"ColumnDataSource\"}},\"id\":\"4917\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"4897\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"4899\",\"type\":\"AnnularWedge\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"4900\",\"type\":\"AnnularWedge\"},\"selection_glyph\":null,\"view\":{\"id\":\"4902\",\"type\":\"CDSView\"}},\"id\":\"4901\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"4907\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"field\":\"angle\"},\"id\":\"4896\",\"type\":\"CumSum\"},{\"attributes\":{},\"id\":\"4878\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"4905\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"4924\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":null,\"formatter\":{\"id\":\"4907\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"4886\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"4885\",\"type\":\"LinearAxis\"},{\"attributes\":{\"end_angle\":{\"expr\":{\"id\":\"4896\",\"type\":\"CumSum\"},\"units\":\"rad\"},\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"inner_radius\":{\"units\":\"data\",\"value\":0.3},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"outer_radius\":{\"units\":\"data\",\"value\":0.4},\"start_angle\":{\"expr\":{\"id\":\"4895\",\"type\":\"CumSum\"},\"units\":\"rad\"},\"x\":{\"value\":0},\"y\":{\"value\":1}},\"id\":\"4900\",\"type\":\"AnnularWedge\"},{\"attributes\":{},\"id\":\"4923\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null,\"data\":{\"angle\":{\"__ndarray__\":\"dwWG4TqE1D85rcPyCcLSP4We+MoBd+I/0I8to/kr0j8vDs2tzcrZP1vToA6tntg/iJh0b4xy1z/kHJjV1RXqP/xUAQTZ/9A/0I8to/kr0j+3V8R09kHrP3kCxDMAAvc/\",\"dtype\":\"float64\",\"shape\":[12]},\"color\":[\"#3182bd\",\"#6baed6\",\"#9ecae1\",\"#c6dbef\",\"#e6550d\",\"#fd8d3c\",\"#fdae6b\",\"#fdd0a2\",\"#31a354\",\"#74c476\",\"#a1d99b\",\"#c7e9c0\"],\"country\":[\"Australia\",\"Brazil\",\"China\",\"France\",\"Germany\",\"India\",\"Italy\",\"Japan\",\"Spain\",\"Taiwan\",\"United Kingdom\",\"United States\"],\"index\":[0,1,2,3,4,5,6,7,8,9,10,11],\"value\":[35,32,63,31,44,42,40,89,29,31,93,157]},\"selected\":{\"id\":\"4923\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"4924\",\"type\":\"UnionRenderers\"}},\"id\":\"4897\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"4876\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":null,\"formatter\":{\"id\":\"4905\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"4881\",\"type\":\"BasicTicker\"},\"visible\":false},\"id\":\"4880\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null},\"id\":\"4874\",\"type\":\"DataRange1d\"},{\"attributes\":{\"field\":\"angle\",\"include_zero\":true},\"id\":\"4895\",\"type\":\"CumSum\"},{\"attributes\":{\"source\":{\"id\":\"4897\",\"type\":\"ColumnDataSource\"}},\"id\":\"4902\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"4881\",\"type\":\"BasicTicker\"},{\"attributes\":{\"field\":\"angle\",\"include_zero\":true},\"id\":\"4910\",\"type\":\"CumSum\"}],\"root_ids\":[\"4869\"]},\"title\":\"Bokeh Application\",\"version\":\"1.1.0\"}};\n",
       "  var render_items = [{\"docid\":\"6d9bbed7-b518-49c7-9a51-d6cc5bd951be\",\"roots\":{\"4869\":\"2b419db1-2eda-4600-a52d-19f62514b4e5\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        embed_document(root);\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "      attempts++;\n",
       "      if (attempts > 100) {\n",
       "        console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        clearInterval(timer);\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "4869"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "p = figure(plot_height=350, title=\"Donut Chart\", \n",
    "#            toolbar_location=None,\n",
    "           tools=\"hover,save\", tooltips=\"国家@country: 数值@value\")  # 已支持中文,鼠标悬停饼图显示数据\n",
    "p.annular_wedge(x=0, y=1, outer_radius=0.4,inner_radius=0.3, \n",
    "        # use cumsum to cumulatively sum the values for start and end angles\n",
    "        start_angle=cumsum('angle', include_zero=True), end_angle=cumsum('angle'),\n",
    "        line_color=\"white\", fill_color='color', legend='country', source=data)\n",
    "p.annular_wedge(x=0, y=1, outer_radius=0.3,inner_radius=0, \n",
    "        # use cumsum to cumulatively sum the values for start and end angles\n",
    "        start_angle=cumsum('angle', include_zero=True), end_angle=cumsum('angle'),\n",
    "        line_color=\"white\", fill_color= 'white', legend='country', source=data)\n",
    "p.axis.axis_label=None\n",
    "p.axis.visible=False\n",
    "p.grid.grid_line_color = None\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [conda root]",
   "language": "python",
   "name": "conda-root-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  },
  "toc": {
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "toc_cell": false,
   "toc_position": {
    "height": "697px",
    "left": "0px",
    "right": "1087.38px",
    "top": "107px",
    "width": "212px"
   },
   "toc_section_display": "block",
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
